我在数据表中读出一批记录,比如说放在DATAGRID控件上显示,现在我希望在每条记录后面都加一个文本框,使得每个文本框都能对应一条记录,然后最下面一条保存按钮,当保存时每条记录可以关联到其相应文本框的数据(比如说,我希望对表中每条记录再加一个设备单号,而设备单号值就是通过一个文本框来输入,系统保存时要懂得哪个文本框是对应自己当前记录的),通过以上方法就可以批量录入记录中每条文本框的值,而不必填一第就显示一条那样麻烦,请问VB中如何实现?

解决方案 »

  1.   

    先将DATAGRID控件关联的数据表中增加一字段"设备单号",原VB的代码执行后DATAGRID控件应增加1列,在该列可输入你的设备单号.如果DATAGRID控件的属性页中设置可更新,退出程序后输入的数据就保存于数据表.
        需注意的是如果你连接数据库是通过ADO数据对象达到,则应通过代码增加DATAGRID控件的列.连接数据库是由ADODC数据控件完成的,在其属性RecordSource的赋值句用如下结构
    Adodc1.RecordSource = "Select * from tabelName",而且DATAGRID控件是缺省添加的,程序运行后,数据表的新列会自动显示.如DATAGRID控件在属性页中对列及数据字段作绑定设置则需修改绑定设置.
      

  2.   

    如果用datagrid设置属性面来更新那也不太好,因为我们是要求只要能改设备编号,你那样开起来的话,变成其它的字段也可能被改,那样误操作的可能性很大,客户也不会同意的。
      

  3.   

    这个很容易的,你可以把datagrid的其他列都锁定,只开想改的那一列就可以了
    DataGrid1.Columns(1).Locked = True '锁定第二列(从零开始计数)
    这样的话,就能实现你要的目的了