views:

185

answers:

1

I have a User object with a Load method that takes in a UserId parameter and loads that users data to the objects member variables.

Now what I'd like to do is load this data to a DetailsView control using an ObjectDataSource, but I'm stumped as to how.

First of all, I'm not sure I've got the code set up properly to pass the parameter (UserID) to the SelectMethod (cUser.Load). Secondly, I don't know how I can load this data to the DetailsView since I'm not actually returning the results from the Load method, I'm simply loading the object with the data...here's my code..

<asp:GridView runat="server" ID="gvUsers" DataKeyNames="UserID" BackColor="#eeeeee"     Width="85%"
                    HorizontalAlign="Center"
                    Font-Bold="True" Font-Names="Verdana"
                    Font-Size="10pt" AutoGenerateColumns="False"
                    OnRowDataBound="GridView1_RowDataBound"
                    OnRowDeleting="GridView1_RowDeleting"
                    OnSelectedIndexChanged="IndexChanged" >
            <HeaderStyle BackColor="Black" ForeColor="White"
                   Font-Bold="True" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="yellow" ForeColor="blue" />
            <AlternatingRowStyle BackColor="#ffffff" />
                   <Columns>
                         <asp:TemplateField>
                       <ItemTemplate>
                           <asp:LinkButton ID="LinkButton2"
                             CommandArgument='<%# Eval("UserID") %>'
                             CommandName="Select" runat="server">
                             Select</asp:LinkButton>
                         </ItemTemplate>     
                         </asp:TemplateField>
                        <asp:BoundField DataField="UserID" Visible="false" />
                        <asp:BoundField DataField="FirstName" HeaderText="First Name"     />
                        <asp:BoundField DataField="LastName" HeaderText="Last Name" />
                        <asp:TemplateField HeaderText="Delete?">
                         <ItemTemplate>
                           <asp:LinkButton ID="LinkButton1"
                             CommandArgument='<%# Eval("UserID") %>'
                             CommandName="Delete" runat="server">
                             Delete</asp:LinkButton>
                         </ItemTemplate>
                       </asp:TemplateField>
                    </Columns>
              </asp:GridView><br /><br />
              <asp:DetailsView runat="server" ID="dvUser"     DataSourceID="ObjectDataSource1" AutoGenerateRows="False" Width="85%"
                    HorizontalAlign="Center" DataKeyNames="UserID" >
                  <Fields>
                    <asp:BoundField DataField="UserID" Visible="false" />
                    <asp:BoundField DataField="FirstName" HeaderText="First Name" />
                    <asp:BoundField DataField="LastName" HeaderText="Last Name" />
                    <asp:BoundField DataField="UserName" HeaderText="User Name" />
                    <asp:BoundField DataField="Password" HeaderText="Password" />
                    <asp:BoundField DataField="Birthdate" HeaderText="Birthdate" />
                    <asp:BoundField DataField="Address" HeaderText="Address" />
                    <asp:BoundField DataField="Apt" HeaderText="Apt" />
                    <asp:BoundField DataField="City" HeaderText="City" />
                    <asp:BoundField DataField="Province" HeaderText="Province" />
                    <asp:BoundField DataField="PostalCode" HeaderText="PostalCode" />
                    <asp:BoundField DataField="PhoneNum" HeaderText="PhoneNum" />
                    <asp:BoundField DataField="Email" HeaderText="Email" />
                    <asp:BoundField DataField="ynAdminUser" HeaderText="ynAdminUser" />
                    <asp:CommandField ShowDeleteButton="False" ShowEditButton="True"     ShowInsertButton="True" />
>
                </Fields>
            </asp:DetailsView>
                <asp:ObjectDataSource ID="ObjectDataSource1"
                    runat="server" SelectMethod="Load" TypeName="cUser">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="gvUsers" PropertyName="SelectedValue" Name="iUserID" Type="int32" />
                    </SelectParameters>
                </asp:ObjectDataSource>

is there a way to do what I'm trying to achieve? if so, can you please give examples with the explanation?

Very much appreciated. Thanks

A: 

you need to check this tutorial for detail help....

Master/Detail Using a Selectable Master GridView with a Details DetailView

Muhammad Akhtar