Displaying a Master/Detail form with the DetailsView control. : DetailsView « ADO.net Database « ASP.Net






Displaying a Master/Detail form with the DetailsView control.


<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">

    void Page_Load()
    {
        if (!Page.IsPostBack)
            grdProducts.SelectedIndex = 0;
    }

    protected void dtlProducts_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
    {
        grdProducts.DataBind();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <form id="form1" runat="server">
    <div class="content">

    <div class="column">
    <asp:GridView
        id="grdProducts"
        DataSourceID="srcProducts"
        DataKeyNames="Id"
        AutoGenerateSelectButton="true"
        Runat="server" />
    </div>

    <div class="column">
    <asp:DetailsView
        id="dtlProducts"
        DefaultMode="Edit"
        AutoGenerateEditButton="true"
        AllowPaging="true"
        DataSourceID="srcProductDetails"
        DataKeyNames="Id"
        Runat="server" OnItemUpdated="dtlProducts_ItemUpdated" />

    <asp:SqlDataSource
        id="srcProducts"
        ConnectionString="<%$ ConnectionStrings:Products %>"
        SelectCommand="SELECT Id,Title FROM Products"
        Runat="server" />
    </div>

    <asp:SqlDataSource
        id="srcProductDetails"
        ConnectionString="<%$ ConnectionStrings:Products %>"
        SelectCommand="SELECT Id,Title,Director,InStocks FROM Products WHERE Id=@ProductId"
        UpdateCommand="UPDATE Products SET Title=@Title,Director=@Director, InStocks=@InStocks WHERE Id=@Id"
        Runat="server">
        <SelectParameters>
            <asp:ControlParameter Name="ProductId" ControlID="grdProducts" />
        </SelectParameters>
    </asp:SqlDataSource>

    </div>
    </form>
</body>
</html>


File: Web.config

<configuration>
  <connectionStrings>
    <add name="Products" 
         connectionString="Data Source=.\SQLEXPRESS;
         AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
  </connectionStrings>
</configuration>            

 








Related examples in the same category

1.Link DetailsView with SqlDataSource and do the editing
2.Using a PagerTemplate to customize the paging interface.
3.Editing a record with the DetailsView control.
4.Using a template when editing with the DetailsView control.
5.Handling Concurrency Issues: CompareAllValues or OverwriteChanges
6.Inserting Data with the DetailsView Control
7.Deleting Data with the DetailsView Control
8.Use the ItemInserted event to handle any errors
9.Adding an AutoGenerateInsertButton attribute to the DetailsView
10.Using the GridView and DetailsView together
11.Enabling paging on the DetailsView control
12.Customizing the display of the DetailsView control