asp.net实例 添加textbox到datagrid控件的编辑模式

发布时间:2020-04-16编辑:脚本学堂
本文介绍下,在asp.net中实现添加textbox到datagrid控件的编辑模式的方法,有需要的朋友参考下吧。

asp.net实现添加textbox到datagrid控件的编辑模式。
代码:
 

复制代码 代码示例:
<%@ Page Language=VB Debug=true %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OLEDB" %>
<script runat=server>
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Not IsPostBack Then
        BuildDataList
    End If
End Sub
Sub DataList_Edit(sender As Object, e As DataListCommandEventArgs)
    dlDepts.EditItemIndex = CInt(e.Item.ItemIndex)
    BuildDataList
End Sub
Sub DataList_Update(sender As Object, e As DataListCommandEventArgs)
    Dim TheID as String
    Dim TheFirstName as String
    Dim TheLastName as String
    TheID = CType(e.Item.FindControl("lblID"), Label).Text
    TheFirstName = CType(e.Item.FindControl("txtName"), TextBox).Text
    TheLastName = CType(e.Item.FindControl("txtEmail"), TextBox).Text
    Dim DBConn as OleDbConnection
    Dim DBUpdate As New OleDbCommand
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBUpdate.CommandText = "Update Employee set " _
        & "FirstName = '" & Replace(TheFirstName, "'", "''") & "', " _
        & "LastName = '" & Replace(TheLastName, "'", "''") & "' " _
        & "Where ID = " & TheID
    DBUpdate.Connection = DBConn
    DBUpdate.Connection.Open
    DBUpdate.ExecuteNonQuery()
    DBConn.Close
    dlDepts.EditItemIndex = -1
    BuildDataList
End Sub
Sub BuildDataList ()
        Dim DBConn as OleDbConnection
        Dim DBCommand As OleDbDataAdapter
        Dim DSPageData as New DataSet
        DBConn = New OleDbConnection( _
            "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
            & "DATA SOURCE=" _
            & Server.MapPath("EmployeeDatabase.mdb;"))
        DBCommand = New OleDbDataAdapter _
            ("Select ID, FirstName, LastName " _
            & "From Employee " _
            & "Order By FirstName", DBConn)
        DBCommand.Fill(DSPageData, _
            "Employee")
        dlDepts.DataSource = _
            DSPageData.Tables("Employee").DefaultView
        dlDepts.DataBind()  
End Sub
</SCRIPT>
<HTML>
<HEAD>
<TITLE>编辑datagrid控件中的数据行-www.jb200.com</TITLE>
</HEAD>
<Body LEFTMARGIN="40">
<form runat="server">
<BR><BR>
<asp:Label
    id="lblMessage"
    Font-Size="12pt"
    Font-Bold="True"
    Font-Name="Lucida Console"
    text="Below is a list of all the employee"
    runat="server"
/>
<BR><BR>
<asp:datalist
    id="dlDepts"
    runat="server"
    oneditcommand="DataList_Edit"
    onupdatecommand="DataList_Update"
    gridlines="Both"
    backcolor="lightyellow"
    forecolor="darkred"
>
    <itemtemplate>
        <B>Department: </B>
        <asp:label
            id="lblID"
            runat="server"
            text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
            visible="False"
        />
        <%# DataBinder.Eval(Container.DataItem, "FirstName") _
            & " - " _
            & DataBinder.Eval(Container.DataItem, "LastName")
         %>
         <asp:LinkButton
             id="butEdit"
              Text="Edit"
              CommandName="Edit"
              runat="server"
          />
    </itemtemplate>
    <edititemtemplate>
        <asp:label
            id="lblID"
            runat="server"
            text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
            visible="False"
        />
        Name:
        <asp:textbox
            id="txtName"
            text='<%# DataBinder.Eval(Container.DataItem, "FirstName") %>'
            runat="server"
        />
        <BR>       
        Email:
        <asp:textbox
            id="txtEmail"
            text='<%# DataBinder.Eval(Container.DataItem, "LastName") %>'
            runat="server"
        />
        <BR>     
         <asp:LinkButton
             id="butUpdate"
              Text="Update"
              CommandName="Update"
              runat="server"
          />
    </edititemtemplate>         
</asp:datalist>
</form>
</BODY>
</HTML>