如何取出Tdbgrid中某行某列的值,比如3行五列
TDBGrid.DataSource.DataSet.Fields[Ic].AsString这样总是取出的是第一行的值.
TDBGrid.DataSource.DataSet.Fields[Ic].AsString这样总是取出的是第一行的值.
解决方案 »
- 寻求delphi7项目转vs2003或vs2005的方案
- 电脑USB的超奇怪问题
- 如果处理语音聊天中的回音问题
- WM_QUERYENDSESSION 这个东东怎么用啊!
- 高手救命,再不救命偶就要跳楼了!-----关于idHTTP的post方法模拟登录问题
- 兄弟们过来聊聊【此事不关风与月】
- 串口的数据位不是5/6/7/8吗?怎么接收一个18位的数据包呢?
- 能不能用Delphi控制MS SQL-Sever的事务的回溯?
- delphi作图高手请进
- 求代码调用winzip应用程序解码*.eml文件为*.txt文件?
- 谁有delphi7 dent.slip给我发一个
- 多线程调用web service出现错误提示:尚未调用 CoInitialize
想显示哪个栏位只要改变Column的号码就可以了。
procedure TfmTotalSum_NCJCSJTJ.cxGrid1DBTableView1CellClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ShowFormStr[1]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column4.Index], varString));//检测结果
ShowFormStr[2]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column2.Index], varString));//样品品种
ShowFormStr[3]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column6.Index], varString));//检测人
ShowFormStr[4]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column5.Index], varString));//检测时间
ShowFormStr[5]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column7.Index], varString));//生产单位
ShowFormStr[6]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column8.Index], varString));//单位地址
ShowFormStr[7]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column13.Index], varString));//生产日期
ShowFormStr[8]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column9.Index], varString)); //仪器编号
ShowFormStr[9]:=trim(VarAsType(ACellViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1Column14.Index], varString));//备注end;
晕了难怪,搞.net的习惯了哈哈,那怎么办,我怎么读下面一行数据啊ADO.NET相对于ADO最出色的改变(个人认为)就是对于脱机数据和联机数据的处理。ADO种提供了一个Recordset对象作为脱机数据缓存。就相当于ADO.NET中的DataSet对象。在ADO.NET中,你一般会将查询到的数据填充到一个DataSet对象中,而这个DataSet对象和联机对象在完成数据填充后,就不再存在任何关系,然后你的表格组件和这个DataSet关联,所以你可以方便的通过DataSet对象处理脱机数据。
在ADO中,如果你用Adoquery查询数据,并且设置了和dbgrid的关联,那么要获得查询到的数据,你可以通过下面的办法//直接根据和dbgrid连接的数据集组件来完成
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
Memo1.Lines.Add(ADOQuery1.FieldByName('fieldname').AsString);
Next;
end;//间接的通过dbgrid的dataset来完成 DBGrid1.DataSource.DataSet.First;
while not DBGrid1.DataSource.DataSet.Eof do
begin
Memo1.Lines.Add(DBGrid1.DataSource.DataSet.FieldByName('fieldname').AsString)
DBGrid1.DataSource.DataSet.Next;
end;
DBGrid1.DataSource.DataSet.RecNO:=3; //第三行
Showmessage(DBGrid1.DataSource.DataSet.Fields[4].AsString) //第五列