在指定DBGridEh的列时可以通过列的序号来指定,如下
DBGridEh1.Columns[0].Visible := False; //对应ID字段
DBGridEh1.Columns[1].Visible := True; //对应Name字段
DBGridEh1.Columns[2].Visible := True; //对应Score字段现在想通过字段名指定,请教大家该怎么写呢?
例如
DBGridEh1.Columns['ID'].Visible := False; 但这么写是错的
DBGridEh1.Columns[0].Visible := False; //对应ID字段
DBGridEh1.Columns[1].Visible := True; //对应Name字段
DBGridEh1.Columns[2].Visible := True; //对应Score字段现在想通过字段名指定,请教大家该怎么写呢?
例如
DBGridEh1.Columns['ID'].Visible := False; 但这么写是错的
DBGridEh1.Columns[0].title.caption:='id中文名';
DBGridEh1.Columns[1].filename := 'name'; //对应Name字段
DBGridEh1.Columns[1].title.caption:='NAME中文名';
DBGridEh1.Columns[2].filename := 'Score'; //对应Score字段
DBGridEh1.Columns[2].title.caption:='SCORE中文名';如果看不到字段。。则加上列的宽度即可,
DBGridEh1.Columns[0].width:=80;
这样就够大了
begin
FieldName := DataSet.fieldbyName('Name').AsString;
Title.Caption := DataSet.fieldbyName('Caption').AsString;
Title.Alignment := taCenter;
Width := DataSet.fieldbyName('ColWidth').AsInteger;
KeyList.Text := StringReplace(DataSet.fieldbyName('KeyList').AsString,
'|', #13#10, [rfReplaceAll, rfIgnoreCase]);
PickList.Text := StringReplace(DataSet.fieldbyName('PickList').AsString,
'|', #13#10, [rfReplaceAll, rfIgnoreCase]);
;
Visible := DataSet.fieldbyName('Visible').AsBoolean;
............
end;我用一个内存数据集来管理表格的宽度,可见,以及其它信息