如何在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作了调整要回头修改代码。