首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

StringGrid使用,该怎么解决

2012-03-03 
StringGrid使用要实现效果:物料领料单我想用bom配比生成,表头(edit控件):领料单号,领料日期,产品名称,预计

StringGrid使用
要实现效果:
  物料领料单我想用bom配比生成,

  表头(edit控件):
  领料单号,领料日期,产品名称,预计产量
  表体(StringGrid控件):
   
  表体根据表头的产品名称和预计产量生成物料清单

最后将表头和表体分别追加至领料表和领料明细表。

现对我来说主要难度是如何将数据显示到StringGrid控件和将StringGrid控件上的记录追加到表里。

是否还有其他较简单的方法?

最后50分,先谢了...

[解决办法]
1、设置StringGrid.RowCount 最大行数(物料领料单最大条数)
2、//将数据显示到StringGrid控件
 StringGrid.Cells[1, 1]:=EDTI领料单号.TEXT;
StringGrid.Cells[1, 2]:=EDTI产品名称.TEXT;
...
3、//将StringGrid控件上的记录追加到表里。
  For i:=1 to StringGrid.RowCount -1 do
if StringGrid.Cells[i, 1] <> '' then
begin
adoquery1.close;
adoquery1.sql.text := 'insert tableName(领料单号, 产品名称,...) values('''+StringGrid.Cells[i, 1]:=+''','''+StringGrid.Cells[i, 2]:=+''','''+...+''')';
adoquery1.ExecSql;
end;
[解决办法]
表头和表体都可以采用数据感知控件,即Data Controls控件组。
数据表现:
表头(edit控件)->DBEdit、DBComboBox等。
表体(StringGrid控件)->DBGrid或者第三方控件,如DBGridEh等。

数据提交,可以采用动态解析ADODataSet里头的字段及内容,记录集采用批量更新(只是缓冲数据只用,真正提交数据采用动态解析数据集,转成SQL写库)。这种处理方式数据表现时比较简单,并且对数据的处理可以统一到对数据集处理上。

热点排行