关于一个从DB检索数据,在画面表示编辑问题,如下DB
[rowTbl]
id name
01 row1
02 row2
03 row3[colTbl]
id name
01 col1
02 col2
03 col3
04 col4[dataTbl]
rowId colId value
01 01 30
01 02 30
01 03 40
02 01 50
02 04 50
03 03 70
03 04 30画面欲表示为
      col1 col2 col3 col4
row1 30   30   40
row2 50              50
row3           70    30画面要用GRIDVIEW显示如上的结果,
并且,利用GRIDVIEW自身的编辑等CommandField实现数据更新.
请问,这能实现吗?
数据显示没问题,但因为列的个数几名字都不固定,不知道updatemethod怎么写,
或者有什么其它的方案,请高手指点.

解决方案 »

  1.   

    使用最原始的遍历再生成数据源(DataTable或其他集合)的方法肯定可以
      

  2.   

    生成数据源没问题,绑定到GridView上,显示出来也没问题。
    现在遇到的问题是,如何去更新?
    如果是用ObjectDataSource,因为列不固定,没办法制定UpdateMethod,
    如果编程方式设定GridView的DataSource属性,
    那如何去实现,CommandField的效果?
      

  3.   

    我现在的作法是,将查询结果做成要显示的形式的DataTable,
    然后设置到GridView的DataSource上,并执行DataBind.
    GridView的AutoGenerateColumns设置成True,并且追加了两列ButtonField,
    分别是编辑和确认按钮.
    然后写了RowCommand事件,若点了编辑按钮,
    则将该行的每个数据Cell里追加一个TextBox,并且将Cell的值设置到该TextBox.Text.
    目前为止都能实现,
    遇到的问题是,针对确认按钮的处理,
    想法是,获取TextBox里的值,反映到对应的Cell上,将TextBox删除掉.
    但是,却取不到TextBox对象,也就是说,动态追加的TextBox在提交之后消失了.
    请问,该如何设置,在提交之后能获得动态生成的TextBox?