我用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.   

    增加数据,可以再footer里面实现,网上有很多例子
      

  2.   

    我的代码:sub DataList1_ItemCommand中
    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次才能显示增加界面
      

  3.   

    怎么不能用datalist添加数据?
    mySchool.sch_name = CType(e.Item.FindControl("yxmc"), TextBox).Text这里老出错,说没有实例化对象。yxmc控件放在selecteditemtemplate模板中