如何在不覆盖第一行值的情况下将值添加到临时gridview? [英] How to add values to a temporary gridview without overwriting the first row values?
问题描述
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
这篇关于如何在不覆盖第一行值的情况下将值添加到临时gridview?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!