关于GridView动态增加行
我的页面中有一个GridView,用于显示用户选中的人员,第一列是CheckBox,其他列是相关的人员信息,没有和数据库进行绑定,现在想,通过用户点击"增加人员"按钮后,弹出一个新页面让用户选择人员,选择好后,自动在我的GridView中加入用户所选择的人员.有什么好的方法可以实现吗? --------------------编程问答-------------------- mark
有时候很多地方用到。
--------------------编程问答-------------------- 我不是很明白楼主的意思,但是重新DataBind()不可以么? --------------------编程问答-------------------- GridView的数据源只能是dataset,datatable,viewstate楼主考虑怎么实现吧 --------------------编程问答-------------------- GridView须要一个数据源,可以是dataset,datatable,dataview,以及泛型集合等
添加的办法是向数据源中添加数据,添加完数据后从新绑定数据源 --------------------编程问答-------------------- http://blog.joycode.com/moslem/archive/2006/11/05/86173.aspx --------------------编程问答-------------------- 把新页面内容传递过来直接构造GridView的新行进行添加...GridView.rows.add(.... --------------------编程问答-------------------- 问题的重点好象是两个页面之间传值,当第二个页面选择好人员后,记下所有人员的ID,返回第一个页面查询数据库,然后重新绑定GridView.
多个人员的ID,可以采用拼接string,不知楼下有否好介意。 --------------------编程问答-------------------- 我GridView的数据源是一个DataTable,但其不和数据库有关,是自建的,页面刚加载时,建立DataTable的列,行数为空,当用户在另一个页面选择好人员后,向DataTable中插入一行,然后重新绑定GridView.
现在: 如何让用户在新页面选择用户后立即向DataTable中插入新的数据,我想实现C/S那样的效果,就是用户点击"添加用户"按钮后,系统弹出新页面让其选择,此时程序是挂起的,当选择完成后,在Table中增加新行,这些都在一个函数里完成.
可以用ModelDialog完进行程序的挂起,但是Javascript如何处理DataTable,好像只能用JavaScript手工的GridView中增加行,如果GridView中有很多控件,比较麻烦.
我现在是分两步进行,先让用户点击选择人员,然后选择页面将用户的选择写到父页的两个
隐藏TXT框中,然后用户再点击"添加",把这两个TXT框中的信息加到DataTable中.
现在想把这两步操作合并成一步,不知道怎么搞法. --------------------编程问答-------------------- 如果你不绑定数据的话,那你的数据存在哪儿?
如果只是要弹出一个窗口,输入后,返回值,这个还简单,你用一datarow记录 数据
然后返回,再填充 --------------------编程问答-------------------- 如果你采用了数据源绑定就不可以,自动增加一行.
因此,有两种方式:1,增加完数据后,重新GET一下,再重新绑定.2,从一开始就通过手动方式添加行,添加完后,再增加一德OK. --------------------编程问答-------------------- 数据不保存在数据库里么。 --------------------编程问答-------------------- 数据最终是要保存到数据库里,我的页面上有很多TEXTBOX,我想当用户全部输入完这些TEXTBOX和选择完用户后,再自已写代码存到数据库里,所以,我不把GridView和数据库直接绑定,说的白一点,就有点像MIS中的单据输入,单据有表头,如日期,编号,客户等,有明细项,这里的明细项就是我的GRIDVIEW,所以,当新增时,不能将GRIDVIEW直接与数据库绑定.
现在把问题简化一下:
就是通过点一个按钮,在这个按钮的服务端中实现打开新页面->得到相关的数据->填写到DATATable中->重新绑定GridView.
用javascript的ModelDialg可以实现,但是无法对DataTable进行操作,只能通过JavaScript对GridView进行手工的增加行和填充,但在GridView中还有一些控件,用JavaScript增加过于麻烦,所以想找一种更好的方式来实现上面的目的. --------------------编程问答-------------------- up --------------------编程问答-------------------- 有这么多人回复了,啊天呢来晚了,楼主,别忘了我呀
多少给点呀,
在Footbar模板中设置相应的输入框,当处发添加事件时,就显示页脚,否则就隐藏 --------------------编程问答-------------------- 我也来凑个热闹,项目中也要求对一个数据表增、删、改时,均采用临时数据,修正完毕,点击保存按钮,进行正式的数据保存
讲一讲我在项目中使用的方法
1 页面放置一个隐藏域
2 页面加载时,数据源读出DataSet后,使用DataSet.WriteXml方法写入到隐藏域,DataSet中取出DataTable绑定GridView
3 这样新增、修改或删除一条记录时,均修改隐藏域中的数据源,使用新数据绑定GridView。从隐藏域读出DataSet,可以使用DataSet.ReadXml方法
4 调整完毕,点击保存按钮。将隐藏域中临时数据保存到数据库中 --------------------编程问答-------------------- 我也需要这个,你的解决了吗?
--------------------编程问答-------------------- up --------------------编程问答-------------------- datarow增加就是了 --------------------编程问答-------------------- 这应该是FormView或者DetailView的工作。 --------------------编程问答-------------------- 把datatable放到session 中不可以吗? --------------------编程问答-------------------- 学习,up --------------------编程问答-------------------- mark
--------------------编程问答-------------------- 关注这个问题,楼主解决了的话麻烦把代码公布一下,帮忙发到ruan1215@163.com谢谢!~~~ --------------------编程问答-------------------- 建议:
1. GridView和选择用户操作可放在同一页面完成。
2. 采用CSS来控制在什么时候显示GridView或选择用户
我想这样会容易做些! --------------------编程问答-------------------- up --------------------编程问答-------------------- 增加后重新绑定一次就行了 --------------------编程问答-------------------- lz的意思是页面之间传递值,如何重新绑定数据源吧?
是否可以采用ajax呢?
关注下 --------------------编程问答-------------------- ding~ --------------------编程问答-------------------- 简单的GridView动态增加行并保存到数据库:
http://blog.csdn.net/telankes2000/archive/2011/01/21/6156702.aspx --------------------编程问答-------------------- 一、修改gridview1列,设置成自动生成字段(特别注意)。
二、将dataset数据填充到gridview1,代码如下:
Dim table As DataTable = New DataTable("ParentTable")
'定义列
Dim Col1 As New DataColumn("code", GetType(Double))
Dim Col2 As New DataColumn("name", GetType(String))
table.Columns.Add(Col1)
table.Columns.Add(Col2)
table.Rows.Add(New Object() {"1", "1"})
Dim dataSet As DataSet
dataSet = New DataSet()
dataSet.Tables.Add(table)
GridView1.DataSource = dataSet
GridView1.DataBind()
实际应用中table可通过数据库读取填充。
三、以上代码在VS2010调试通过。
gridview控件有待完善! --------------------编程问答-------------------- 一、修改gridview1列,设置成自动生成字段(特别注意)。
二、将dataset数据填充到gridview1,代码如下:
Dim table As DataTable = New DataTable("ParentTable")
'定义列
Dim Col1 As New DataColumn("code", GetType(Double))
Dim Col2 As New DataColumn("name", GetType(String))
table.Columns.Add(Col1)
table.Columns.Add(Col2)
table.Rows.Add(New Object() {"1", "1"})
Dim dataSet As DataSet
dataSet = New DataSet()
dataSet.Tables.Add(table)
GridView1.DataSource = dataSet
GridView1.DataBind()
实际应用中table可通过数据库读取填充。
三、以上代码在VS2010调试通过。
gridview控件有待完善!
补充:.NET技术 , ASP.NET