delphi中stringgrid如何动态增加一行。如何删除一行。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中stringgrid如何动态增加一行。如何删除一行。相关的知识,希望对你有一定的参考价值。

如题。

参考技术A 动态增加一行就是 把当前RoaCount 加一,在最新的行下面赋上相应的值就行了.

删除一样麻烦,如果删除最后一行,直接将最后一行值清空, rowcount 减一.
如果不是最后一行,把当前行清空,同时把当前行下面的所有行都依次上移.
需要写个循环了这个...本回答被提问者采纳
参考技术B 插入一行:
StringGrid1.Rows.Insert

追加一行:
StringGrid1.Rows.Add

删除一行:
StringGrid1.Rows.Delete
参考技术C 插入一行:
StringGrid1.Rows.Insert

追加一行:
StringGrid1.Rows.Add

删除一行:
StringGrid1.Rows.Delete

如何在Delphi FireMonkey中填充TStringGrid?

我正在尝试在Delphi中创建一个多设备应用程序。我已将TStringGrid放在表单上。将列数增加到4.我有一个包含4个元素的stringlist List3。 List3确实包含数据。

StringGrid1.Cells[0,0] := 'adc';
StringGrid1.cells[1,0] := 'efg';
StringGrid1.Cells[2,0] := 'hij';

for n1 := 1 to p2-1 do
begin
    StringGrid1.Cells[3,n1] := Trim(List3[0]);
    StringGrid1.cells[0,n1] := Trim(List3[1]);
    StringGrid1.Cells[1,n1] := Trim(List3[2]);
    StringGrid1.Cells[2,n1] := Trim(List3[3]);
end

StringGrid1中没有数据显示。既没有硬编码为第0行,也没有动态使用for循环。

答案

由于我处于USB调试模式,因此Tstringgrid没有填充。一旦我从计算机断开连接并执行apk,网格就会正确填充。

另一答案

您是否尝试刷新或单击表单中的某些可视组件?

FMX需要一些操作来重新加载您的数据。确定这一点的最简单方法,只是尝试在其中使用BeginUpdate和EndUpdate函数。

StringGrid1.BeginUpdate; 

for n1 := 1 to p2-1 do
begin
 StringGrid1.Cells[3,n1] := Trim(List3[0]);
 StringGrid1.cells[0,n1] := Trim(List3[1]);
 StringGrid1.Cells[1,n1] := Trim(List3[2]);
 StringGrid1.Cells[2,n1] := Trim(List3[3]);
end;

StringGrid1.EndUpdate;

以上是关于delphi中stringgrid如何动态增加一行。如何删除一行。的主要内容,如果未能解决你的问题,请参考以下文章

Delphi中如何对StringGrid表格中内容进行修改?

delphi stringGrid

如何在Delphi FireMonkey中填充TStringGrid?

Delphi中StringGrid控件如何添加数据?

急需解决delphi 重stringgrid的定位方法 !!!!!!!!

delphi中如何把有规律的文本文字放入STRINGGRID中的每个单元格中