全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1249
推到 Plurk!
推到 Facebook!

关于排序后编辑错误的问题

缺席
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-07-01 13:37:32 IP:116.239.xxx.xxx 訂閱
 我在DBGridTitleclick;事件里面写了这个函数
//按照内容排序
procedure TForm1.DsSort(SortColumn: TColumn);
var
OldIndex:string;
begin
if (SortColumn.Grid.DataSource=nil) or (SortColumn.Grid.DataSource.DataSet=nil) or (not SortColumn.Grid.DataSource.DataSet.Active) then Exit;
OldIndex:=TClientDataSet(SortColumn.Field.DataSet).IndexName;
if OldIndex<>'' then
begin
TClientDataSet(SortColumn.Field.DataSet).IndexName:='';
TClientDataSet(SortColumn.Field.DataSet).DeleteIndex(OldIndex);
end;
case ASC of
True :TClientDataSet(SortColumn.Field.DataSet).AddIndex('px',SortColumn.Field.FieldName,[ixDescending]);//已经是升序就按降序排列
else//否则按升序排列
TClientDataSet(SortColumn.Field.DataSet).AddIndex('px',SortColumn.Field.FieldName,[ixPrimary]);
end;{end case}
TClientDataSet(SortColumn.Field.DataSet).IndexName:='px';
ASC:=not ASC;
运行没有问题。
但是之后的问题来了。
我如果此时要编辑clientdataset这个数据库的话,他显示了
Clientdataset1:index 'px' not found;
编辑数据我用了这个
ClientDataSet1.Edit;
if not ClientDataSet1.Eof then
begin
if ClientDataSet1.FieldByName('编辑').AsString='' then
begin
ClientDataSet1.FieldByName('编辑').AsString:='★';
end;
急啊,在线等。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
max5020
資深會員


發表:29
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-07-01 15:09:04 IP:59.125.xxx.xxx 訂閱
 TClientDataSet(SortColumn.Field.DataSet).IndexFieldName:= 'FIELD1 DESC'
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-07-01 15:11:57 IP:116.239.xxx.xxx 訂閱
改在哪里呢
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
tuga
高階會員


發表:16
回覆:109
積分:120
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-07-08 10:58:20 IP:1.34.xxx.xxx 訂閱
通常改變順序, 一般會放在 DBGRID 的 OnTitleClick 之類的, 或是你自己用一個 radio group
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2013-07-15 16:46:53 IP:116.239.xxx.xxx 訂閱
我就是放在ONtitleClick事件里面的。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
系統時間:2024-04-26 20:19:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!