在先等!关于adoquery与dbgrid问题,希望大家帮帮忙,急!!!!!!!!!!!!!!!
dbgrid是通过adoquery连接进来的,有没有什么方法在dbgrid上双击能得到这个字段数据,我用adotable是可以的,可用adoquery双击每次只能取到第一条记录,哪位大哥知道的话,帮帮忙,很急!! 问题点数:50、回复次数:8Top
1 楼h98458(零点起飞)回复于 2005-06-02 21:17:32 得分 10
我想这和adoquery或adotable没关系的,你可以通过DBGrid循环来取呀
DBGridEh2.DataSource.DataSet.First;
while not DBGridEh2.DataSource.DataSet.Eof do
begin
ShowMessage(DBGridEh2.DataSource.DataSet.Fields[1].AsString);
end;
DBGridEh2.DataSource.DataSet.Next;
end;Top
2 楼h98458(零点起飞)回复于 2005-06-02 21:22:54 得分 10
DBGridEh2.DataSource.DataSet.First;
while not DBGridEh2.DataSource.DataSet.Eof do
begin
ShowMessage(DBGridEh2.DataSource.DataSet.Fields[1].AsString);
DBGridEh2.DataSource.DataSet.Next;
end;
//Fields[1] 这要看你要取的字段在ADOQury的第几列了,是从0开始算的Top
3 楼xusongbo(空心蝴蝶)回复于 2005-06-02 21:49:54 得分 5
好,谢谢啊,我试试看Top
4 楼Libran()回复于 2005-06-02 22:00:54 得分 5
在DBGrid的OnDblClick事件里得到当前字段的数据:
{
//保存DBGrid的指针
TDBGrid *DBGrid = (TDBGrid *)Sender;
//获得字段名
AnsiString FieldName = DBGrid->Columns->Items[DBGrid->SelectedIndex]->FieldName;
//显示字段的数据
AnsiString Value = DBGrid->DataSource->DataSet->FieldByName(FieldName)->AsString;
ShowMessage(Value);
}Top
5 楼Libran()回复于 2005-06-02 22:22:31 得分 5
还可以简单写:
{
//保存DBGrid的指针
TDBGrid *DBGrid = (TDBGrid *)Sender;
//直接获得字段数据
AnsiString Value = DBGrid->Columns->Items[DBGrid->SelectedIndex]->Field->AsString;
ShowMessage(Value);
}Top
6 楼xusongbo(空心蝴蝶)回复于 2005-06-02 23:15:12 得分 5
谢谢你们啊,
小弟有点愚笨,Libran() 你能不能在说下,
当我取到了鼠标所点的值后,我只要取某个固定的值
如上面有
供货商号 名称 业务员
1001 可乐 张三
当我点击可乐,取到“可乐”后,我只要得到1001就好了,请问怎么写
我是用adoquery连接近来的
Top
7 楼Libran()回复于 2005-06-03 08:04:01 得分 5
改一点儿,根据字段名获取字段数据:
//保存DBGrid的指针
TDBGrid *DBGrid = (TDBGrid *)Sender;
//根据字段名获得字段数据
AnsiString Value = DBGrid->DataSource->DataSet->FieldByName("供货商号")->AsString;
Top
8 楼xusongbo(空心蝴蝶)回复于 2005-06-03 08:16:56 得分 5
你好早哦,谢谢你,呵呵,是上班族吗Top




