Dim box As TextBox = CType(DataGrid1.Items(e.Item.ItemIndex).Cells(1).Control(0), TextBox)//把这列转换为了模板列,想要对数据进行编辑,更新,但不知道为什么.Controls[1]索引得用1了,用0索引的话,会报无法进行类型转换的错. 但是如果我把Control(0)换成 FindControl("TextBox1")的话就总是得到TextBox1中更新前的值.
盼高手解答
盼高手解答
Dim box As TextBox =DirectCast(DataGrid1.Items(e.Item.ItemIndex).FindControl("TextBox1"),TextBox))
异常详细信息: System.Web.HttpException: IListSource 不包含任何数据源。这个问题已经困扰好几天了,头疼 Dim MemberId As String = DataGrid1.Items(e.Item.ItemIndex).Cells(0).Text
Dim box1 As TextBox = DirectCast(DataGrid1.Items(e.Item.ItemIndex).FindControl("TextBox1"), TextBox)
Dim newName As String = box1.Text Dim sqlstr As String = "Update 职工表 set 用户名 =" + Chr(39) + newName + Chr(39) + " where 用户ID= " + Chr(39) + MemberId + Chr(39) Dim conn As New SqlConnection("uid=sa;pwd=422;server=JSZX-WYH;database=Test;") Dim ds As New DataSet Try DataGrid1.EditItemIndex() = -1 conn.Open() Dim da As New SqlDataAdapter Dim cmd As New SqlCommand cmd.CommandText() = sqlstr cmd.Connection() = conn ds.Clear() da.SelectCommand() = cmd da.Fill(ds, "职工表") DataGrid1.DataSource() = ds DataGrid1.DataBind()
Catch ex As SqlException Response.Write(sqlstr) Finally conn.Close() End Try BindData()
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not Page.IsPostBack Then
showinfo()
End If
End Sub