delphi中排序问题!(7分)

  • 主题发起人 主题发起人 活在陆地上的鱼
  • 开始时间 开始时间

活在陆地上的鱼

Unregistered / Unconfirmed
GUEST, unregistred user!
当我一开始时候能进行排序的操作,但是当我点了dbgird列进行排序后,就不能够进行一开始的排序。下面是我的2段代码 没分了 新手问题多,各位仁兄帮忙看看
procedure TForm1.dbgrd1TitleClick(Column: TColumn);

begin
if ClientDataSet.IndexFieldNames=Column.FieldName then
ClientDataSet.IndexFieldNames:=Column.FieldName else
ClientDataSet.IndexFieldNames:=Column.FieldName ;
end;


procedure TForm1.N4Click(Sender: TObject);
begin
ClientDataSet.Filtered := False;
with ClientDataSet do
begin
if(DBCheckBoxEh1.Checked)then
begin
ClientDataSet.Active :=False;
ClientDataSet.CommandText :='SELECT* FROM YU order by cj';
ClientDataSet.Active :=True;
end
else
begin
ClientDataSet.Active :=False;
CommandText :='SELECT* FROM YU order by xh';
ClientDataSet.Active :=True;
end;
end;

end;
 
if ClientDataSet.IndexFieldNames=Column.FieldName then
ClientDataSet.IndexFieldNames:=Column.FieldName else
ClientDataSet.IndexFieldNames:=Column.FieldName ;
-----------------------------------------
这段代码怎么看都是 ClientDataSet.IndexFieldNames:=Column.FieldName ;,为什么还要用if ,else呢?
 
butterflylly 大哥 你还不要不信 一开始我也是这么认为的 但是这个3句真的执行了你单击dbgird头上的列的话他执行了排序的问题。。
 
要是想一开始就排序那就用SQL语句的ORDER BY FIELDNAME,这样就可以了。
 
我不是大哥啊!可以叫我大姐,偶不见意的!
 
我不是大哥啊!可以叫我大姐,偶不见意的!
 
我不是大哥啊!可以叫我大姐,偶不见意的!
 
butterflylly 大姐 你有QQ吗 能加我吗 我以后QQ上问你好啦 我都没分了 364485745 谢谢 大姐姐你了
 
呵呵,我也是初学者哦,知道的问题都一定回答.
QQ:172162077.
不是经常在线,晚上加班或者周末才会在哦!问题可以发到我油箱butterflylly@163.com.
我会经常看油箱的.
 
接受答案了.
 
后退
顶部