首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于DBGRIDEH多选,该如何解决

2012-08-10 
关于DBGRIDEH多选DBGrideh1.SelectedRows.CurrentRowSelected : true//我想通过代码实现DBGRIDEH多选,但

关于DBGRIDEH多选
DBGrideh1.SelectedRows.CurrentRowSelected := true;//我想通过代码实现DBGRIDEH多选,但用此方法会清除原来选择的记录。有没什么好方法做到可以类型Add的方法?

[解决办法]
先用locate定位到那一行,
DBGridEh1.DataSource.DataSet.Locate('ID',j,[]);
然后再将那一行选种状态设置为true
DBGridEh1.Selection.Rows.CurrentRowSelected:=True;
[解决办法]
DBGridEh1.SelectedRows.CurrentRowSelected:=true;
也可以,关键是要先定位行。
[解决办法]
你的数据源可以考虑用TClientDataSet,增加calculated类型的字段,选中赋值即可,选择完再把这些选中的进行你需要的处理。
[解决办法]
http://download.csdn.net/detail/lch0422/2724526
[解决办法]
用那段代码可以多选呀,你把多选dgMultiSelect设置成True,然后用上面的方法就多选啦。
定位到行,选定那一行,然后定位到另一行,再选定,这样就选了两行啦。

[解决办法]
先把多选dgMultiSelect设置成True;
procedure TForm1.Button1Click(Sender: TObject);
var
I:integer;
begin
for I := 0 to 3 do
begin
if ADOTable1.Locate('ID',I*2,[]) then
begin
DBGridEh1.SelectedRows.CurrentRowSelected:=true;
end;
end;
ShowMessage(IntToStr(DBGridEh1.SelectedRows.Count)); 这里显示为4个。
end;
第1,3,5,7行选中..

热点排行