当前位置:主页>delphi7/进销存和数据库> 文章内容

DBGrid 的用法

发布时间:2010-01-25 | QQ免费站
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