请萧大侠侃侃,找类似dbgrid的控件 (70分)

  • 主题发起人 主题发起人 meijun
  • 开始时间 开始时间
M

meijun

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有这样一个控件:类似dbgrid,我们用鼠标单击他的某一字段,
字段下的数据就可按升序或降序排列。哪位大侠能告诉我哪儿有这样
的控件下载。谢谢!
xie_kx@163.com
 
自己写一个不就行了.
或者干脆在OnTitleClick里面写代码不就行了.
写一个select ...order by...
 
给你代码: 然后在DBGRID的COLUMN CLICK里执行就可以了...
另外,以下代码还可以改成ADO的,,,,
procedure TFHkdata.SortQuery(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 TQuery(TDBGrid(Column.Grid).DataSource.DataSet) 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.AssignValues(SavedParams);
SavedParams.Free;
end;
Prepare;
Open;
end;
end;
 
大富翁全文检索,有位富翁曾经编过一个很好用的,贴子号不知了,自己找找
 
控件:dbgrideh
 
to lyq2276959 :
您好,在哪儿能找到这样的控件?
xie_kx@163.com
 
我一直在用DevExpress的TdxDBGrid,功能非常强大[:)]
 
萧大侠能否告诉我,何处下载此控件?谢谢!
My Emial: xie_kx@163.com
 
to meijun
http://211.100.17.210:208/DownLoad/Controls/ehlib20.rar
 
在dbgrid中的OnTitleClick里面写代码吧,很简单的。
 
to lyq2276959:
您好,ehlib20如何才能排序,需要写代码吗?怎么写.告诉我好吗?
谢谢!
 
to meijun:
使用ExpressQuantumGrid是你不悔的选择。
可以到www.51delphi.com下载
 
原来下载的地方忘记了,另外又找了一个
http://www.playicq.com/dispdoc.asp?id=45

TdxDBGrid排序,先设置它的的KEY FIELD字段属性(随便选一个罢)
然后设置它的Options属性下的edgoAnsi Sort属性为TRUE,如果还不行,
将edgoLoadAllRecords设置也为True.

它还有其他许多功能,你另外摸索罢[:)]

 
EhLib 的DBGrid问题多多!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
770
import
I
后退
顶部