1

我有一个 TDBGrid 并有一个通过 TDataSource 关联的客户端数据集。当我尝试以编程方式重新排列网格的列时,当网格中有一个或多个列时,这可以正常工作。

可以说,我将所有列都设为假。因此,网格还没有任何列。现在,当我将 11 列的索引设置为 0 时。

Columns[iColIndx].Index := iNewColIndex;
// Assume iColIndx = 11 and iNewColIndex = 0

Columns[iNewColIndex].Visible := True;
//Making the column visible

列索引的上述分配没有反映在网格中。如果我尝试将其设置为两次或三次,那么它就会得到反映。我错过了什么吗?

4

1 回答 1

1

我解决了。我已经分配OnDrawDataCell了网格来绘制渐变,但我没有DefaultDrawDataCell从那里调用。此外,该DefaultDrawing物业已关闭。

在事件处理程序中设置DefaultDrawing和调用DefaultDrawDataCellDrawDataCell,它现在工作正常。

于 2011-11-16T08:48:20.930 回答