我有一个TDBGrid并且有一个通过TDataSource关联的客户端数据集。 当我尝试以编程方式重新排列网格的列时,当网格中有一列或多列时,这可以正常工作。
让我们说,我将所有列都显示为false。因此,网格还没有任何列。 现在,当我将列的索引设置为11到0时。
Columns[iColIndx].Index := iNewColIndex;
// Assume iColIndx = 11 and iNewColIndex = 0
Columns[iNewColIndex].Visible := True;
//Making the column visible
上面的列索引分配没有反映在Grid中。如果我尝试将它设置两次或三次,那么它会被反映出来。我错过了什么吗?
答案 0 :(得分:1)
我解决了。我已经指定了网格的OnDrawDataCell
来绘制渐变,但我没有从那里调用DefaultDrawDataCell
。此外,DefaultDrawing
属性已关闭。
在DefaultDrawing
事件处理程序中设置DefaultDrawDataCell
并调用DrawDataCell
后,它现在正常运行。