我在使用stringgrid时,发现它的行列不便于增减和刷新,请各位推荐一个更好的。
解决方案 »
- 求助:如何在listbox里面显示数组元素
- 请问,有没有类以属性编辑器的DB组件, 一次竖直显示一条记录.
- 如何通过Internet连接某一局域网(路由器连接)内的一台服务器上的SQL7.0?在线等待!!!
- 再来问一个简单的radiobox的问题,异常简单,可结果就不对。郁闷!
- 求汉字的ANSI码 和 汉字的UNICODE码的转换 原理。
- Delphi 获取远程SQL服务器的中可用的数据库备份(还原)路径
- 各位大哥帮帮我,为什么程序每次运行时读sql server库总提示用户名及密码,跳过此项怎么做?急!!!!!!!!!!!!!!!!!!!!
- 请问一个窗体问题:一个主窗体和两个子窗体,程序运行时主窗体和子窗体同时显示,两个子窗体上下排列,请问如何实现?
- 关于delphi的视频压缩,明白人给指条路
- 请问Delphi在上海能混得开吗?
- 在线等待,clientdataset与dbgrid迷惑的问题
- 一个TreeView的问题
自己写点代码,不管什么功能都挺容易实现的,本人是很讨厌找第三方控件。本人也只能算菜鸟,只是在表格的交互上没有一个控件让人满意的,基本上都还是跟stringgrid没区别。至于显示处理上,功能再多也没什么意思,用OnDrawCell自己实现更简单更灵活。
不能这么说,StringGrid有Rows和Cols属性,插入、删除都很方便的。
procedure GridDeleteRow(RowNumber: Integer; Grid: TstringGrid);
var
i: Integer;
begin
Grid.Row := RowNumber;
if (Grid.Row = Grid.RowCount - 1) then
{ On the last row}
Grid.RowCount := Grid.RowCount - 1
else
begin
{ Not the last row}
for i := RowNumber to Grid.RowCount - 1 do
Grid.Rows[i] := Grid.Rows[i + 1];
Grid.RowCount := Grid.RowCount - 1;
end;
end;
插入类似,你自己写吧
极耗资源,速度可能是Delphi自带的TDBGRID慢慢慢慢三倍以上。
其代码有很多不完善的地方。
最好是自已在原控件上增加方法事件等。不要用什么第三方控件。