DBGrid 的用法
1楼: 在数据库中有0 ,1, 2 三种字符,我想在DBGrid中显示为
aa
bb
cc.
在程序中进行判断和DBGRID重绘。 字串3 2楼: 两种解决方法:
1、用字段(TField)的OnGetText来解决:
也就是在你的数据集的这个字段的OnGetText事件里写代码:
procedure TForm1.ClientDataSet1YourFieldGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
const
yourvalue:array [1..3] of string=(‘aa‘,‘bb‘,‘cc‘);
begin
text:=yourvalue[strtointdef(Sender.AsString,1)];
end;
2、就是利用dbgrid的重绘事件DrawColumnCell
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
yourvalue:array [1..3] of string=(‘aa‘,‘bb‘,‘cc‘);
begin
if Column.FieldName=‘你的需要重绘的字段名‘ then
dbgrid1.canvas.textrect(rect,rect.left,rect.top,
yourvalue[strtointdef(column.field.AsString,1)]);
end;
字串6
3楼: 参考将boolean类型值显示成true /false的方法 字串9
4楼: 楼上的老大。我知道应该这么做。也许我没有说清楚。我只需要DBGRID中的一列发生改变,而不是所有的数据都发生变化。在DBGRID中还有其他的数据。字串1
5楼: 加一个计算字段就可以了 字串4
6楼: to 楼主:
我的方法并没有影响到其他字段啊~~~都是对单一的字段进行控制的啊
个人认为第一个方法比较好 字串8
7楼: 接受答案了. 字串4