如何通过程序代码来选中DBgrideh中的某一个单元格?? 找客户档案管理软件
谢谢各位的帮忙。。
2楼: 你应该先选择行
也就是通过移动数据集的当前记录
然后再选择列
直接设置列值就可以了 如进销存系统
3楼: 当然,行我知道怎么选中,可是列要怎么选中呢?麻烦写的详细一些,多谢帮忙
4楼: 假设你已经选好了行,那么再:
DBGridEH1.SelectedIndex:=3
就是选择了该行的第四列所在的单元格。
5楼: 大型数据库的定位比较麻烦,列的定位可以用DBGridEH1.SelectedIndex:=0来定位,行的顶位最好用BookMark.
if (DBGridEh1.selectedindex<>0) and (DBGridEh1.selectedindex<>9) then
begin
bookmark:=self.query1.GetBookmark;
s:=DBGridEh1.selectedfield.asstring;
for i:=dbgrideh1.Row-1 downto 0 do
begin
query1.Prior;
query1.edit;
DBGridEh1.selectedfield.asstring:=s;
query1.post;
end;
self.datasource2.DataSet.GotoBookmark(pointer(bookmark));
end;
6楼: 楼上的方面笨死了,速度很慢,我有个办法可以瞬间定位记录到指定位置,在一千万行的记录里定位只要几毫秒
库存管理软件版7楼: 说出来听听撒
8楼: 列?Column吧.我记不在清楚了
9楼: 就是说出来
10楼: 跑题了~~~~
11楼: jxj0561,如果真的有那么好的方法的话可不可以告诉我们大家?谢谢
12楼: 对于列的定位,LWH006已经说了哈,对于行的定位,如果你是在大型数据库里面(指用它本身的工具)只有遍历哈,对于数据已经取到了客户端(不管多少行),就可以用数据集控件的recno属性直接定位了,非常快!!!大家一定只习惯读取它的值吧?其实你也可以赋一个值给recno属性的.delphi会立即转到指定的行,比什么方法都快 :-) 如客户档案管理软件
13楼: 多人接受答案了。