单击gridview中的链接按钮不会显示detailsview中的详细信息
本文关键字:显示 detailsview 详细信息 按钮 gridview 链接 单击 | 更新日期: 2023-09-27 18:12:21
我有一个网格视图和一个细节视图。在那个网格视图中,我在第一列中有一个链接按钮列。当我单击链接按钮列时,它必须在详细信息视图中显示相应的行值。我使用单独的数据源的详细信息视图和网格视图。
这是网格视图代码:
<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>
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
}
我无法在这里获得详细视图中的数据。当我单击第一列中的任何单元格时,它会在面板中显示详细信息视图。
如何获得详细信息视图以显示单击的行中的数据?
实现Master-Details关系的简单方法是将DataKeyNames="DCN"
(与您的案例相关)添加到第一个GridView中,并将其作为Details表单中的Parameter引用:参见这里的示例:http://www.vkinfotek.com/detailsview/gridview-detailsview-master-detail-example.html