Private Sub DataGrid2_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid2.PageIndexChanged DataGrid2.CurrentPageIndex = e.NewPageIndex DataBindingToDataGridClass() End Sub Private Sub DataGrid2_EditCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.EditCommand DataGrid2.EditItemIndex = e.Item.ItemIndex DataBindingToDataGridClass() End Sub Private Sub DataGrid2_DeleteCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.DeleteCommand Dim mydel As New sqlDB Dim classid As Integer classid = DataGrid2.DataKeys(e.Item.ItemIndex) 删除数据语句…… DataBindingToDataGridClass() End Sub Private Sub DataGrid2_CancelCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.CancelCommand DataGrid2.EditItemIndex = -1 DataBindingToDataGridClass() End Sub Private Sub DataGrid2_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.UpdateCommand Dim myupdate As New sqlDB Dim classid As Integer classid = DataGrid2.DataKeys(e.Item.ItemIndex) '得到DataGrid2中绑定的DropDownList1的所选值 Dim DDL As DropDownList = e.Item.FindControl("DropDownList1") Dim topClassId As String = DDL.SelectedValue.ToString 写入数据语句…… DataGrid2.EditItemIndex = -1 DataBindingToDataGridClass() End Sub Private Sub DataGrid2_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid2.ItemDataBound If e.Item.ItemType = ListItemType.EditItem And e.Item.ItemIndex >= 0 Then Dim DDL As DropDownList = e.Item.FindControl("DropDownList1") Dim myreader As New sqlDB DDL.DataSource = …… DDL.DataTextField = "topclassName" DDL.DataValueField = "topclassId" DDL.DataBind() End If End Sub其中DataBindingToDataGridClass()是datagrid的绑定!
我参照http://www.cnblogs.com/lovecherry/archive/2005/03/25/125525.html?Pending=true#Post的方法 提示:未将对象引用设置到对象的实例 详细代码: Private Sub dgrdGzlist_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgrdGzlist.ItemDataBound If e.Item.ItemType = ListItemType.EditItem And e.Item.ItemIndex >= 0 Then Dim DDL As DropDownList = e.Item.FindControl("ddlgxlist") Dim cnn As New System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings("conString")) Dim cmd As New System.Data.SqlClient.SqlCommand Dim dst As New System.Data.DataSet Dim dap As New System.Data.SqlClient.SqlDataAdapter 'Dim drv As System.Data.DataRowView = e.Item.DataItem 'Dim current As String = drv.Item(0).ToString cmd.Connection = cnn cmd.CommandText = "SELECT id ,name FROM userGx_tczj WHERE userid=" & Session("userid_tczj") dap.SelectCommand = cmd cnn.Open() dap.Fill(dst, "dtb") cnn.Close() DDL.DataSource = dst.Tables("dtb") DDL.DataTextField = "name" DDL.DataValueField = "id" 'DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue(current)) DDL.DataBind() DDL.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem, "id"))).Selected = True End If End Sub
请二位老师可以给我简单讲一下实现的要点好吗?
对于html的部分,我对照检查了一下,和小山老师的一样。只是不知在哪个过程中进行绑定,如何绑定?
DataGrid2.CurrentPageIndex = e.NewPageIndex
DataBindingToDataGridClass()
End Sub
Private Sub DataGrid2_EditCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.EditCommand
DataGrid2.EditItemIndex = e.Item.ItemIndex
DataBindingToDataGridClass()
End Sub
Private Sub DataGrid2_DeleteCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.DeleteCommand
Dim mydel As New sqlDB
Dim classid As Integer
classid = DataGrid2.DataKeys(e.Item.ItemIndex)
删除数据语句……
DataBindingToDataGridClass()
End Sub
Private Sub DataGrid2_CancelCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.CancelCommand
DataGrid2.EditItemIndex = -1
DataBindingToDataGridClass()
End Sub
Private Sub DataGrid2_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.UpdateCommand
Dim myupdate As New sqlDB
Dim classid As Integer
classid = DataGrid2.DataKeys(e.Item.ItemIndex)
'得到DataGrid2中绑定的DropDownList1的所选值
Dim DDL As DropDownList = e.Item.FindControl("DropDownList1")
Dim topClassId As String = DDL.SelectedValue.ToString
写入数据语句……
DataGrid2.EditItemIndex = -1
DataBindingToDataGridClass()
End Sub
Private Sub DataGrid2_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid2.ItemDataBound
If e.Item.ItemType = ListItemType.EditItem And e.Item.ItemIndex >= 0 Then
Dim DDL As DropDownList = e.Item.FindControl("DropDownList1")
Dim myreader As New sqlDB
DDL.DataSource = ……
DDL.DataTextField = "topclassName"
DDL.DataValueField = "topclassId"
DDL.DataBind()
End If
End Sub其中DataBindingToDataGridClass()是datagrid的绑定!
我已在QQ中加你,我的QQ号324019684。
提示:未将对象引用设置到对象的实例
详细代码:
Private Sub dgrdGzlist_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgrdGzlist.ItemDataBound
If e.Item.ItemType = ListItemType.EditItem And e.Item.ItemIndex >= 0 Then
Dim DDL As DropDownList = e.Item.FindControl("ddlgxlist")
Dim cnn As New System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings("conString"))
Dim cmd As New System.Data.SqlClient.SqlCommand
Dim dst As New System.Data.DataSet
Dim dap As New System.Data.SqlClient.SqlDataAdapter
'Dim drv As System.Data.DataRowView = e.Item.DataItem
'Dim current As String = drv.Item(0).ToString
cmd.Connection = cnn
cmd.CommandText = "SELECT id ,name FROM userGx_tczj WHERE userid=" & Session("userid_tczj")
dap.SelectCommand = cmd
cnn.Open()
dap.Fill(dst, "dtb")
cnn.Close()
DDL.DataSource = dst.Tables("dtb")
DDL.DataTextField = "name"
DDL.DataValueField = "id"
'DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue(current))
DDL.DataBind()
DDL.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem, "id"))).Selected = True
End If
End Sub