关于DBGrid的用法:如何控制DBGrid中的显示?

streetballerym 2003-08-19 10:16:28
我现在做了一个DBGrid,其中有一属性为电表号,在Table中对应的值有01,02,03等3种
分别对应3种不同的电表,我现在在DBGrid中想显示电表的名称而不是其编号。应该如何做?
...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
windlyzhang 2003-08-19
  • 打赏
  • 举报
回复
在dataSet中建一个永久性的loopup字段,然后再DbGrid中建立相应的column,设置好属性值,就可以解决你的问题了!
starstargao 2003-08-19
  • 打赏
  • 举报
回复
直接写在sql语句里面就可以
case 字段名
when 值1 then '表1'
when 值2 then '表2'
when 值3 then '表3'
end as 别名
柯本 2003-08-19
  • 打赏
  • 举报
回复
用计算字段更简些
FenixMeng 2003-08-19
  • 打赏
  • 举报
回复
另外建一张电表名称对应表,写一个SQL语句,两表联立不就可以显示点表明成了吗。
netsys2 2003-08-19
  • 打赏
  • 举报
回复
// 特殊字段的显示
void __fastcall TFrmQueryLog::DBGrid1DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State)
{
//状态显示汉字
AnsiString showText;
if( DataCol == 1 ) //假设是第2项
{
if (Column->Field->AsString=="01")
showText = "电表";
else if (Column->Field->AsString=="02")
showText = "水表";
else if (Column->Field->AsString=="03")
showText = "气表";

DBGrid1->Canvas->TextOut(Rect.Left+1,Rect.Top+2,showText);
}
}

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧