Tof*_*nov 1 database delphi dbgrid
我需要动态更改DBGRid中某列的位置.假设我需要将第21列放在第10位.我使用:
DBGrid.Columns[21].Index:=10;
Run Code Online (Sandbox Code Playgroud)
但是,这也改变了数组本身,这意味着,下次我想访问这个列时,我需要编写DBGrid.Columns [10],这使得它有点不干净,我需要记住所有列的位置等有没有更简单的方法来重新定位列?如果在这个位置变化期间数组索引没有改变也是好的.
处理问题的一种简单方法是不通过索引而是通过fieldname访问列.介绍这样的方法:
function GetColumn(aGrid : TDBGrid; aFieldName : string) : TColumn;
var
I : integer;
begin
for I := 0 to DBGrid.Columns.Count-1 do
if aDBGrid.Columns[I].FieldName = aFieldName then
begin
Result := aDBGrid.Columns[I];
exit;
end;
Result := nil;
end;
Run Code Online (Sandbox Code Playgroud)
缺点是每次需要访问网格时都必须运行循环,导致延迟很小,因此如果速度至关重要,您可以考虑其他选项.
| 归档时间: |
|
| 查看次数: |
5700 次 |
| 最近记录: |