【发布时间】:2017-11-08 06:37:08
【问题描述】:
更新
从此我绑定gridview
Public Function uplif() As DataTable
Dim dt As New DataTable()
gridvieew1.Visible = True
Try
dt.Columns.AddRange(New DataColumn(1) {New DataColumn("ID", GetType(Integer)),
New DataColumn("Name", GetType(String))}
Dim Content As String = Request.Form(textbox1.UniqueID)
For Each row As String In Content .Split(ControlChars.Lf)
If Not String.IsNullOrEmpty(row) Then
dt.Rows.Add()
Dim i As Integer = 0
For Each cell As String In row.Split(ControlChars.Tab)
If i > 1 Then
labelmessage.Text = "More than 2 columns not Allowed !!"
textbox1.Text = ""
Else
If cell.Trim() = "" Then
cell = "0"
End If
dt.Rows(dt.Rows.Count - 1)(i) = cell
i += 1
End If
Next
End If
Next
gridvieew1.DataSource = dt
gridvieew1.DataBind()
Catch Ex As Exception
labelmessage.CssClass = "alertNo"
labelmessage.Text = Ex.Message
End Try
Return dt
End Function
Protected Sub PasteToGridView(sender As Object, e As EventArgs)
uplif()
End Sub
现在当我尝试像这样添加新行时
Private Sub AddNewRowToGrid()
Dim dt As DataTable = uplif()
Dim NewRow As DataRow = dt.NewRow()
dt.Rows.Add(NewRow)
gridvieew1.DataSource = dt
gridvieew1.DataBind()
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
AddNewRowToGrid()
End Sub
这显示相同的输出,例如添加新行并替换已经在 gridview 中的先前数据,并且这也显示错误 对象引用未设置为对象的实例。
点击后添加新行
ID Name
我想要这样的地方
ID Name
1 abc
2 def
(here new empty row when click on button )
【问题讨论】:
-
这是vb代码。为什么你在这里添加了c#标签?
-
每次单击 Button1 时,都会创建一个全新的 DataTable 并将其绑定到您的 DGV。
If dt.Columns.Count = 0 Then不是必需的,因为它总是正确的。 -
所以我删除了这一行 If dt.Columns.Count = 0 Then?
-
不要创建新的数据表。使用现有的
-
请检查更新问题