Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
cz_012273
WZGL
提交
8c39182a
W
WZGL
项目概览
cz_012273
/
WZGL
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
WZGL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8c39182a
编写于
6月 02, 2022
作者:
C
cz_012273
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
实现DBgrid点击标题栏排序!(仅库存提示部分,未完成)
上级
f4dc8ee0
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
50 addition
and
0 deletion
+50
-0
TiShi.dfm
TiShi.dfm
+1
-0
TiShi.pas
TiShi.pas
+49
-0
WZGL.res
WZGL.res
+0
-0
未找到文件。
TiShi.dfm
浏览文件 @
8c39182a
...
...
@@ -63,6 +63,7 @@ object Form6: TForm6
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
OnDrawColumnCell = DBGrid1DrawColumnCell
OnTitleClick = DBGrid1TitleClick
end
object DBGrid2: TDBGrid
Left = 31
...
...
TiShi.pas
浏览文件 @
8c39182a
...
...
@@ -27,6 +27,7 @@ type
Field
:
TField
;
State
:
TGridDrawState
);
procedure
Button3Click
(
Sender
:
TObject
);
procedure
Button4Click
(
Sender
:
TObject
);
procedure
DBGrid1TitleClick
(
Column
:
TColumn
);
private
{ Private declarations }
...
...
@@ -113,6 +114,54 @@ begin
DBGrid1
.
DefaultDrawcolumnCell
(
Rect
,
DataCol
,
Column
,
State
);
end
;
procedure
TForm6
.
DBGrid1TitleClick
(
Column
:
TColumn
);
var
SqlStr
,
myFieldName
,
TempStr
:
string
;
OrderPos
:
integer
;
SavedParams
:
TParams
;
begin
if
not
(
Column
.
Field
.
FieldKind
in
[
fkData
,
fkLookup
])
then
exit
;
//如果字段类型不属于物理字段或查询字段则退出
if
Column
.
Field
.
FieldKind
=
fkData
then
myFieldName
:=
UpperCase
(
Column
.
Field
.
FieldName
)
//如为物理字段,字段名大写
else
myFieldName
:=
UpperCase
(
Column
.
Field
.
KeyFields
);
//如为查询字段,主键名大写
while
Pos
(
myFieldName
,
';'
)<>
0
do
//如果名称中包含分号
myFieldName
:=
copy
(
myFieldName
,
1
,
Pos
(
myFieldName
,
';'
)-
1
)
+
','
+
copy
(
myFieldName
,
Pos
(
myFieldName
,
';'
)+
1
,
100
);
//把分号变逗号
with
dm1
.
FDQuery7
do
begin
SqlStr
:=
UpperCase
(
Sql
.
Text
);
// if pos(myFieldName,SqlStr)=0 then exit;
if
ParamCount
>
0
then
begin
SavedParams
:=
TParams
.
Create
;
SavedParams
.
Assign
(
Params
);
end
;
OrderPos
:=
pos
(
'ORDER'
,
SqlStr
);
if
(
OrderPos
=
0
)
or
(
pos
(
myFieldName
,
copy
(
SqlStr
,
OrderPos
,
100
))=
0
)
then
TempStr
:=
' Order By '
+
myFieldName
+
' Asc'
else
if
pos
(
'ASC'
,
SqlStr
)=
0
then
TempStr
:=
' Order By '
+
myFieldName
+
' Asc'
else
TempStr
:=
' Order By '
+
myFieldName
+
' Desc'
;
if
OrderPos
<>
0
then
SqlStr
:=
Copy
(
SqlStr
,
1
,
OrderPos
-
1
);
SqlStr
:=
SqlStr
+
TempStr
;
Active
:=
False
;
Sql
.
Clear
;
Sql
.
Text
:=
SqlStr
;
if
ParamCount
>
0
then
begin
Params
.
Assign
(
SavedParams
);
SavedParams
.
Free
;
end
;
Prepare
;
Open
;
end
;
end
;
procedure
TForm6
.
DBGrid2DrawDataCell
(
Sender
:
TObject
;
const
Rect
:
TRect
;
Field
:
TField
;
State
:
TGridDrawState
);
begin
...
...
WZGL.res
浏览文件 @
8c39182a
无法预览此类型文件
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录