1

グリッド ビューと詳細ビューがあります。そのグリッド ビューでは、最初の列にリンク ボタン列があります。リンク ボタンの列をクリックすると、対応する行の値が詳細ビューに表示されます。詳細ビューとグリッド ビューに別々のデータ ソースを使用しています。

これはグリッド ビューのコードです。

<asp:GridView ID="GridView2" runat="server" 
    DataSourceID="SqlDataSourcegridview" Height="533px" Width="316px" 
    style="text-align: left" EnableCallBack="false" 
    AutoGenerateColumns="False" > 
    <Columns>
        <asp:TemplateField ShowHeader="false">
            <HeaderTemplate>    
                <asp:Label ID="lbl1" runat="server" Text="DCN"></asp:Label>
            </HeaderTemplate>

            <ItemTemplate>
            <asp:LinkButton ID="lnkname" runat="server" SortExpression="DCN"
                            Text='<%#Eval("DCN") %>' CausesValidation="false"
                            CommandName='<%#Eval("DCN")%>' OnClick = "Link_buttonClick">
                   linkbutton
            </asp:LinkButton>

            </ItemTemplate>
        </asp:TemplateField>                               
        <asp:BoundField DataField="priority" HeaderText="priority" 
                        SortExpression="priority" />
   </Columns>
</asp:GridView>

グリッドビューのデータソース:

<asp:SqlDataSource ID="SqlDataSourcegridview" runat="server" 
                   ConnectionString="<%$ ConnectionStrings:ConnectDBString %>" 
                   SelectCommand="SELECT * FROM [MASTERETMTABLE] WHERE ([DCN] = @DCN)">
     <SelectParameters>
         <asp:Parameter DefaultValue="BAT" Name="DCN" Type="String" />
     </SelectParameters>
 </asp:SqlDataSource>

詳細ビュー:

<asp:Panel ID="paneldetails" runat="server" BackColor="#CCCCCC" 
           Visible="False" >
    <asp:DetailsView ID="detailsvw" runat="server" AutoGenerateRows="False" 
                     DataSourceID="SqlDataSourcedetailsview" Width="424px"> 
         <Fields>
             <asp:BoundField DataField="DCN" HeaderText="DCN" SortExpression="DCN" />
             <asp:BoundField DataField="PRIORITY" HeaderText="PRIORITY" 
                             SortExpression="PRIORITY" />
         </Fields
    </asp:DetailsView>
</asp:Panel>

これは詳細ビューのデータソースです

<asp:SqlDataSource ID="SqlDataSourcedetailsview" runat="server" 
                   ConnectionString="<%$ ConnectionStrings:ConnectDBString %>" 
                   SelectCommand="SELECT * FROM [MASTERETMTABLE] WHERE ([DCN] = @DCN)">
    <SelectParameters>
        <asp:ControlParameter Name="DCN" ControlID="GridView2"/>
    </SelectParameters>
</asp:SqlDataSource>

これは、gridview ページのコード ビハインド ファイルです。

protected void Link_buttonClick(object sender, EventArgs e)
{
    paneldetails.Visible = true;
    detailsvw.Visible = true;
    // do I need to add any thing at here
}

ここで詳細ビューにデータを取得できません。最初の列のセルをクリックすると、パネルに詳細ビューが表示されます。

クリックした行のデータを詳細ビューに表示するにはどうすればよいですか?

4

1 に答える 1