我在dbgrid的editing dbgrid1.columns picklist里面输入五个字符 但是后台连接数据库里只能设置两个字符 在dbgrid怎么样可以显示出这五个字符呢 当装入数据库时用两个字符表示(数据库只能为两个字符不能增加)
例如 我在dgrid里面选着显示 '上海市’在数据库里装入‘01’
if DBGrid1DataSource.DataSet.Fields[0].AsString:='上海市' then
begin
DBGrid1DataSource.DataSet.Fields[0].AsString:='01';
end; 请问dbgrid里 有办法实现吗??
哪位大哥会的请赐教小弟
例如 我在dgrid里面选着显示 '上海市’在数据库里装入‘01’
if DBGrid1DataSource.DataSet.Fields[0].AsString:='上海市' then
begin
DBGrid1DataSource.DataSet.Fields[0].AsString:='01';
end; 请问dbgrid里 有办法实现吗??
哪位大哥会的请赐教小弟
比如:
if dbgride.selectindex=0 then
begin
if DBGrid1DataSource.DataSet.Fields[0].AsString:='上海市' then
begin
DBGrid1DataSource.DataSet.Fields[0].AsString:='01';
end;
end;
如果选择‘上海市’则在beforepost事件添加 dbgrid.field[0].text:='01'显示时在afteropen事件中加入判断的
例子:
if DBGrid1DataSource.DataSet.Fields[0].AsString:='01‘then
begin
dbgrid.field[0].text:='上海市';
end;
用的是delphi的那个版本?
六个字节而数据库的字节不可以增加 问题就在于dbgrid是数据感应组件显示的时候空间是和数据库连着的 我想有没有办法解决让它显示的字节比它连的数据库的字节大能呢 可不可以调呢
原型:
type TFieldGetTextEvent = procedure ( Sender :TField; var Text:String; DisplayText:Boolean ) of object;
其中Text参数就是你要让人看到的东西。来看看李维的例子:
procedure TdmSetGetTextDemo.sdsBooksAIDGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
try
Self.sqldsPerformersByID.ParamByName('AID').Value := Sender.Value;
Self.sqldsPerformersByID.Active := True;
Text := Self.sqldsPerformersByID.Fields[0].AsString;
finally
Self.sqldsPerformersByID.Active := False;
end;
end;
你想把ID 中的01对上海,02对北京。这些信息应该存在一个表中,叫它CITY。
你在ONGetText事件中到CITY这个表中找到ID所对应的城市名,然后把它付给TEXT参数就OK了。