我用datalist的edittemplate实现了数据的编辑和删除。但是如何增加数据呢?
我实现的方式是这样的:
1)在<ItemTemplate>放置一个addButton,设置其commandName属性为 select
2) 事件中写如下代码:在Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
Select Case e.CommandName
Case "select"
Me.DataList1.SelectedIndex = e.Item.ItemIndex
。。(增加数据的代码)
Return
Case "unselect"
Me.DataList1.SelectedIndex = -1
Return
End Select
现在的问题是:数据可以添加,但是需要用户点击两次按扭。才能进入增加数据的界面,同样需要两次单击按扭,才能退出增加界面。
End Sub
我实现的方式是这样的:
1)在<ItemTemplate>放置一个addButton,设置其commandName属性为 select
2) 事件中写如下代码:在Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
Select Case e.CommandName
Case "select"
Me.DataList1.SelectedIndex = e.Item.ItemIndex
。。(增加数据的代码)
Return
Case "unselect"
Me.DataList1.SelectedIndex = -1
Return
End Select
现在的问题是:数据可以添加,但是需要用户点击两次按扭。才能进入增加数据的界面,同样需要两次单击按扭,才能退出增加界面。
End Sub
Me.DataList1.SelectedIndex = e.Item.ItemIndex
Dim sch_id1 As Integer = Me.DataList1.DataKeys.Item(e.Item.ItemIndex)
bindtosource(sch_id1) '绑定到数据源
Select Case e.CommandName
Case "select"
'mySchool为对象名
mySchool.sch_id = sch_id1
mySchool.sch_name = CType(e.Item.FindControl("yxmc"), TextBox).Text
mySchool.sch_description = CType(e.Item.FindControl("yxjs"), TextBox).Text
mySchool.sch_master = CType(e.Item.FindControl("lxr"), TextBox).Text
mySchool.sch_telephone = CType(e.Item.FindControl("lxdh"), TextBox).Text
If mySchool.canAdd(mySchool.sch_name) = False Then
Response.Write("<script language =javascript > alert('不能增加,已经有同名院系');</script>")
Else
Try
mySchool.addItem()
Catch ex As Exception
Response.Write("<script language =javascript > alert('不能增加');</script>")
End Try
End If Return
Case "unselect"
Me.DataList1.SelectedIndex = -1 Return
End Select End Sub
这里有2个问题:
1。 mySchool.sch_name = CType(e.Item.FindControl("yxmc"), TextBox).Text对象未实例化
2、要单击2次才能显示增加界面
mySchool.sch_name = CType(e.Item.FindControl("yxmc"), TextBox).Text这里老出错,说没有实例化对象。yxmc控件放在selecteditemtemplate模板中