Use asp:datagrid to add, update : DataGrid Edit « ADO.net Database « ASP.Net





Use asp:datagrid to add, update

<%@ 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 TheName as String
    Dim TheEmail as String
    TheID = CType(e.Item.FindControl("lblID"), Label).Text
    TheName = CType(e.Item.FindControl("txtName"), TextBox).Text
    TheEmail = 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(TheName, "'", "''") & "', " _
        & "LastName = '" & Replace(TheEmail, "'", "''") & "' " _
        & "Where ID = " & TheID
    DBUpdate.Connection = DBConn
    DBUpdate.Connection.Open
    DBUpdate.ExecuteNonQuery()
    DBConn.Close
    dlDepts.EditItemIndex = -1
    BuildDataList
End Sub
Sub CommandAdd_Click(Sender As Object, E As CommandEventArgs)
    Dim DBConn as OleDbConnection
    Dim DBAdd As New OleDbCommand
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBAdd.CommandText = "Insert Into Employee (FirstName) " _
        & "values ('NewFirstName ')"
    DBAdd.Connection = DBConn
    DBAdd.Connection.Open
    DBAdd.ExecuteNonQuery()
    DBConn.Close
    dlDepts.EditItemIndex = 0
    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 LastName", DBConn)
        DBCommand.Fill(DSPageData, _
            "Employee")
        dlDepts.DataSource = _
            DSPageData.Tables("Employee").DefaultView
        dlDepts.DataBind()   
End Sub
</SCRIPT>
<HTML>
<HEAD>
<TITLE>Adding Rows from a DataList Control</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 employees"
    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>
<BR><BR>
<asp:LinkButton 
    id="butAdd" 
    text="Add" 
    commandname="Add"
    oncommand="CommandAdd_Click"
    runat="server"
/>

</form>
</BODY>
</HTML>
           
       










EmployeeDatabase.zip( 10 k)

Related examples in the same category

1.Add asp:textbox to asp:datagrid edit mode
2.Edit data in asp:datagrid
3.asp:DataGrid with data edit