如何在不覆盖第一行值的情况下将值添加到临时gridview? [英] How to add values to a temporary gridview without overwriting the first row values?

查看:57
本文介绍了如何在不覆盖第一行值的情况下将值添加到临时gridview?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Goodday!

我想在保存之前创建临时gridview。当我在文本框中输入值时,单击Add,然后它将填充gridview。



问题:

1.当我成功添加第一行的值并添加新值时。它会覆盖第一行值。我想在下一行创建新值。或者只是创建一个新行,然后显示从文本框输入的新值。





这是我的代码:



Goodday!
I wanted to create a temporary gridview before saving.When I enter values on textboxs , click Add, then it will populate the gridview.

The problem:
1. When I have successfully added values for the first row, and add new values. It overwrites the first row values. I wanted to make the new values on the next row. Or just create a new row then show the new values that has been inputted from the textboxes.


Here is my code:

Dim dt As New DataTable()

       dt.Columns.AddRange(New DataColumn(6) {New DataColumn("Code"), New DataColumn("Description"), New DataColumn("Specification"), New DataColumn("Availability"), New DataColumn("Storage Location"), New DataColumn("Quantity"), New DataColumn("Critical")})
       dt.Rows.Add(componentCodeTextbox.Text, DescriptionTextbox.Text, txt_specs.Text, cb_availability.SelectedItem, txt_location.Text, QuantityTextbox.Text, CriticalTextbox.Text)

       ViewState("dt") = dt
       TempGV.DataSource = TryCast(ViewState("dt"), DataTable)
       TempGV.DataBind()





结束次级





但有错误:

Dim dr As datarow = dt.NewRow()





错误:对象null引用异常

我是否必须添加其他代码才能添加新行?



任何帮助将不胜感激。在此先感谢。



End Sub


But has error in :
Dim dr As datarow = dt.NewRow()


ERROR: object null reference exception
do I have to add other code so that I could add new row?

Any help would be much appreciated. Thanks in advance.

推荐答案

这是我的参考,它解决了我的问题。



This is my reference, and it solved my problem.

Protected Sub BtnAddCourses_Click(sender As Object, e As EventArgs)
	Dim dt As datatable = New DataTable()
	If ViewState("ANYSTRING") Is Nothing Then
		dt.Columns.Add("COLUMNNAME1")
		dt.Columns.Add("COLUMNNAME2")
		dt.Columns.Add("COLUMNNAME3")
	Else
		dt = DirectCast(ViewState("ANYSTRING"), DataTable)
	End If
	Dim dr As datarow = dt.NewRow()
	dr("COLUMNNAME1") = TEXTBOX1.TEXT
	dr("COLUMNNAME2") = DROPDOWNLIST.SELECTEDVALUE
	dr("COLUMNNAME3") = TEXTBOX1.TEXT
	dt.Rows.Add(dr)
	ViewState("ANYSTRING") = dt
	GRIDVIEW.DataSource = dt
	GRIDVIEW.DataBind()
	GRIDVIEW.Visible = True
End Sub





检查答案2 [ ^ ]


这篇关于如何在不覆盖第一行值的情况下将值添加到临时gridview?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆