鼠标移动时怎么得到DBGrid方格中的内容? 我想在鼠标移动时取得鼠标所在方格的内容,请问该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.DBGrid1CellClick(Column: TColumn);begin showmessage(adodataset1.FieldValues[column.FieldName]);end; 楼主的意思应该是用hint的形式去得到DBGrid方格的内容吧若是如此,写一个application.onhint事件,在其中加入adodataset1.FieldValues[column.FieldName]即可 我也想知道鼠标在DBGRID上移动(不点击DBGRID的情况下),获取鼠标所在位置的记录内容。 假设你在表单中加入一个DBGrid及一个Button,点按Button时将获取该单元的值。.i:integer; //控制当前行j:integer; //控制当前列ts:string; //用于获取第一列的字段名,因第一字段名在用户使用过程中 //可能会改变,不能固定其值RowNum,ColNum:integer; //你要获取CELL的行、列值,如4行3列..procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin{ 检查是否正在绘制第1列中的内容(看是不是ts指定的字段名 即可,若是,则将行号i加1,同时列号j清零,否则表示未改 变行号,故将列号加1} if field.fieldname=ts then begin inc(i); j:=0; end else inc(j);//若行、列号与指定的行、列号相符,注意,实际列号应该减1//则获取该单元的数据,并显示在Label1中 if (i = RowNum) and (j=ColNum-1) then label1.caption:=field.asstring; end;procedure TForm1.Button1Click(Sender: TObject);begini:=0; //初始化行变量j:=0; //初始化列变量RowNum:=4; //你指定的行,若愿意,可变为某编辑框的值,以进行动态查询ColNum:=3; //你指定的列,若愿意,可变为某编辑框的值,以进行动态查询ts:=dbgrid1.columns[0].fieldname; //获得第一列的列字段名, //有时你也可使用其标题名dbgrid1.refresh; //强迫其重新绘制以得到指定单元数据end;供参考 我所要的就是以hint的形式得到方格中的内容!cobi(我是小新)的建义不错,在onshowhint中实现!可是column没有定义呀,鼠标是移动的呀!怎么得到?? 大不了,麻烦一点,计算当前鼠标位置,算出位于那个cell的的区域,然后读出数据。 可是谁知道:把这个cell的值赋到一个Edit后,修改后怎样写回去呢? 截屏了,如何设置保存图片的大小,现在有5M多,我最好80K左右就行了 delphi 实现读取路由器拨号后的动态ip地址 像Google浏览器这样的效果控件怎么实现 请问我想获取局城网中共享的文件怎么办? ADOTable在UpdateBatch()时出错. 谁有D3DES 的加密算法FOR DELPHI? 大虾们,如何用滚轮鼠标控制SCROLLBOX的滚动! 怎样编写自己的VCL控件?怎样从已有的控件上继承? 客户和服务器联接问题? 198分求电视剧《寻秦记》的下载地址! 删除选中节点下的子节点 如何能让timage响应得到焦点和失去焦点的事件!
begin
showmessage(adodataset1.FieldValues[column.FieldName]);
end;
若是如此,写一个application.onhint事件,在其中加入
adodataset1.FieldValues[column.FieldName]即可
i:integer; //控制当前行
j:integer; //控制当前列
ts:string; //用于获取第一列的字段名,因第一字段名在用户使用过程中
//可能会改变,不能固定其值
RowNum,ColNum:integer; //你要获取CELL的行、列值,如4行3列
.
.procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
{
检查是否正在绘制第1列中的内容(看是不是ts指定的字段名
即可,若是,则将行号i加1,同时列号j清零,否则表示未改
变行号,故将列号加1
}
if field.fieldname=ts then
begin
inc(i);
j:=0;
end else inc(j);
//若行、列号与指定的行、列号相符,注意,实际列号应该减1
//则获取该单元的数据,并显示在Label1中
if (i = RowNum) and (j=ColNum-1) then
label1.caption:=field.asstring;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
i:=0; //初始化行变量
j:=0; //初始化列变量
RowNum:=4; //你指定的行,若愿意,可变为某编辑框的值,以进行动态查询
ColNum:=3; //你指定的列,若愿意,可变为某编辑框的值,以进行动态查询
ts:=dbgrid1.columns[0].fieldname; //获得第一列的列字段名,
//有时你也可使用其标题名
dbgrid1.refresh; //强迫其重新绘制以得到指定单元数据
end;供参考
cobi(我是小新)的建义不错,在onshowhint中实现!
可是column没有定义呀,鼠标是移动的呀!怎么得到??