读书人

DBGrid如何改变某列显示的内容而不改变

发布时间: 2013-03-27 11:22:42 作者: rapoo

DBGrid怎么改变某列显示的内容而不改变数据表的值?
DBGrid怎么改变某列显示的内容而不改变数据表的值?
例如某个字段的值有几种1, 2, 3, 4,我想讲1显示为“数学”,2显示为“语文”,3显示为“物理”,4显示为“化学”。
想通过DBGrid来解决,而不用SQL来解决
[解决办法]
在DBGrid->DataSource->DataSet中添加对应的字段,然后在指定字段的OnGetText事件中处理:

void __fastcall TForm1::Filed1OnGetText(TField *Sender, String &Text, bool DisplayText)
{
if (Sender->DataSet->RecordCount < 1)
{
Text = "";
return;
}

switch (Sender->AsInteger)
{
case 1: Text = "数学"; break;
case 2: Text = "语文"; break;
case 3: Text = "物理"; break;
case 4: Text = "化学"; break;
default: Text = ""; break;
}
}

读书人网 >C++ Builder

热点推荐