首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么在DBGrid最左边加上序号一列,从1到显示的记录总数

2012-02-08 
如何在DBGrid最左边加上序号一列,从1到显示的记录总数?如何在DBGrid最左边加上序号一列,从1到显示的记录总

如何在DBGrid最左边加上序号一列,从1到显示的记录总数?
如何在DBGrid最左边加上序号一列,从1到显示的记录总数?

[解决办法]
预先在 DBGrid1 加一列,Title为 “NO”。然后:

void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
if (DataSource1-> DataSet-> RecNo != 0)
if (UpperCase(Column-> Title-> Caption) == "NO ")
DBGrid1-> Canvas-> TextOutA(Rect.Left + 4, Rect.Top + 2, IntToStr(DataSource1-> DataSet-> RecNo));
}
[解决办法]
速度的话肯定是我的快了,4楼的刷新Grid每行都要执行
if (DataSource1-> DataSet-> RecNo != 0)
if (UpperCase(Column-> Title-> Caption) == "NO ")
DBGrid1-> Canvas-> TextOutA(Rect.Left + 4, Rect.Top + 2, IntToStr(DataSource1-> DataSet-> RecNo));

两个if判断速度肯定慢的,TextOutA(Rect.Left + 4, Rect.Top + 2,.. 也违反了“不用魔幻字”的编程原则,当Grid作了调整要回头修改代码。

热点排行