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;
}
}