起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 317|回复: 4

【结贴】DataGrid 多选记录筛选问题?***

[复制链接]
发表于 2009-9-4 11:24:14 | 显示全部楼层 |阅读模式
想要根据多选选中的记录进行过虑筛选,怎么取不到数据的??如图
我选择了3条记录,,可以是memo里面怎么老是只有一条记录??
请帮忙看下那里处问题了??
代码如下:
myform := TDJLSX.Create(self.Context);
         try
            if DataGrid1.SelectedCount > 0 then
                  with DataGrid1.DataSource.DataSet do
                       for i := 0 to DataGrid1.SelectedCount - 1 do
                       begin
                           Bookmark := DataGrid1.SelectedRows;
                            for j := 0 to FieldCount - 1 do
                             begin
                                 if (j > 0) then s := s + ', ';
                                 s := s + Fields[j].AsString;
                             end;
                       Bookmark := DataGrid1.SelectedRows.ToString; //标签记录
                       GotoBookmark(GetBookmark);
                       s := DataGrid1.FocusedField.AsString;
                       end;
                       myform.Label1.Caption := '按'+DataGrid1.FocusedField.DisplayName+'进行筛选:';
                       myform.Memo1.Lines.Text := DataGrid1.FocusedField.AsString;
                       if myform.ShowModal = business.Forms.Controls.mrOk then
                       begin
                           DataSetSFKSJJ.SQLFilter := ' '+DataGrid1.FocusedField.FieldName+' = '''+myform.Memo1.Lines.Text+'''';
                           DataSetSFKSJJ.SQLFiltered := true;
                         end;
                              finally
                                 myform.Free;
                        end;
                   end;

qq截图未命名.jpg

68.88 KB, 下载次数: 241

回复

使用道具 举报

发表于 2009-9-4 11:35:06 | 显示全部楼层
你在 Bookmark := DataGrid1.SelectedRows.ToString; //标签记录 前,Show一下 S 这个变量看看,结果是啥。
你跟着看看,怎么在后面又给S赋值  DataGrid1.FocusedField.AsString;,不知道你想实现啥东东,怎么又把S这个变量重新复制,你的逻辑应该有问题吧,跟着代码看看吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-4 11:54:51 | 显示全部楼层
最初由 atiger 发布
[B]你在 Bookmark := DataGrid1.SelectedRows.ToString; //标签记录 前,Show一下 S 这个变量看看,结果是啥。
你跟着看看,怎么在后面又给S赋值  DataGrid1.FocusedField..

以下省略...... [/B]


Show了下。。记录是取到了(如图)。。可是ADD不进memo里面。。老是显示整条记录?
我就是想实现:我多选选中某些列的值然后Add进memo里面进行过虑筛选?明白?

qq截图未命名.jpg

42.42 KB, 下载次数: 229

回复 支持 反对

使用道具 举报

发表于 2009-9-4 13:13:28 | 显示全部楼层
老是显示整条记录?
请楼主看看你自己写的代码吧
studio单步调试跟踪一下相关的值。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-5 17:31:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-16 14:41 , Processed in 0.045660 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表