to tikkypeng(千两狂死郎) cobi(我是小新,我只有5岁) 我想得到的是列名,不是数据。
ShowMessage(DBGrid1.SelectedField.Name);
DBGridOnCellClick 或者 DBGridDBClick
to tikkypeng(千两狂死郎) 不行啊,要用fieldname,而且只能获得第一列的。
你的DBGrid的Option里面的dgRowSelect是不是等于True?也就是行选择?? 要不然分别点击DBGrid的Cell应该没有问题的~~ procedure TForm1.DBGrid1CellClick(Column: TColumn); begin ShowMessage(DBGrid1.SelectedField.FieldName); end;要不然你就放在DBGrid的TitleClick里面~~ procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin ShowMessage(DBGrid1.SelectedField.FieldName); end;
同意tikkypeng(千两狂死郎) 的看法 你的DBGrid的Option里面的dgRowSelect是不是等于True?也就是行选择?? 要不然分别点击DBGrid的Cell应该没有问题的~~ procedure TForm1.DBGrid1CellClick(Column: TColumn); begin ShowMessage(DBGrid1.SelectedField.FieldName); end;要不然你就放在DBGrid的TitleClick里面~~ procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin ShowMessage(DBGrid1.SelectedField.FieldName); end;
ontileclick 必须先点某纪录,然后点列名,获得的是刚才点击纪录的列名。
他有个参数Column Column.FieldName既是你想要的
Columns.FieldName是什么类型的,不是一个列名。
看看Delphi的帮助吧~~ TColumn.FieldNameIndicates the name of the field represented by the column.property FieldName: String;DescriptionSetting FieldName changes the Field property so that it points to the dataset field with the same name. If the dataset does not have a field with the same name, Field is set to nil.
我想得到的是列名,不是数据。
或者
DBGridDBClick
不行啊,要用fieldname,而且只能获得第一列的。
要不然分别点击DBGrid的Cell应该没有问题的~~
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
ShowMessage(DBGrid1.SelectedField.FieldName);
end;要不然你就放在DBGrid的TitleClick里面~~
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
ShowMessage(DBGrid1.SelectedField.FieldName);
end;
你的DBGrid的Option里面的dgRowSelect是不是等于True?也就是行选择??
要不然分别点击DBGrid的Cell应该没有问题的~~
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
ShowMessage(DBGrid1.SelectedField.FieldName);
end;要不然你就放在DBGrid的TitleClick里面~~
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
ShowMessage(DBGrid1.SelectedField.FieldName);
end;
Column.FieldName既是你想要的
TColumn.FieldNameIndicates the name of the field represented by the column.property FieldName: String;DescriptionSetting FieldName changes the Field property so that it points to the dataset field with the same name. If the dataset does not have a field with the same name, Field is set to nil.
怎么不是?
showmessage(Column.Field.FieldName)
ADOQuery.Sort:=Column.FieldName;
form2.Caption:=dbgrid1.Columns.fieldname;
编译提示有错:undeclared identifier.'fieldname'
form2.Caption:=dbgrid1.Column.fieldname;
编译提示有错:undeclared identifier.'column'
begin
Caption := Column.FieldName;
end;
试一试Column.Field.FullName