如何用C#实现点击主表的行然后从表显示详细数据
例如我有1个Repeater 和 GridView ,我要实现点击Repeater里的行然后在GridView显示详细数据?
如果不能用Repeater 和 GridView 实现,还有什么办法吗?
主从表的关系是fSeqID = fSeqID2
code;
<asp:Repeater ID="Repeater2" runat="server"
onitemcommand="Repeater2_ItemCommand">
<HeaderTemplate>
<table cellpadding="2" cellspacing="1" class="Admin_Table" style="width:100%;">
<thead>
<tr class="Admin_Table_Title">
<th style="">序号</th>
<th style="">商品ID号</th>
<th style="">商品编码</th>
<th style="width:100px;">商品名称</th>
<th style="width:100px;">规格型号</th>
<th style="">数量</th>
<th style="">单位</th>
<th style="">单价</th>
<th style="width:100px;">金额</th>
<th style="">法定数量</th>
<th style="">法定单位</th>
<th style="">产销国</th>
<th style="">征免性质</th>
<th style="">主料标志</th>
<th style="">备注</th>
<th style="">功能选项</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("fSeqID")%></asp:Label></td
<td><%#Eval("fGoodsID")%></td>
<td><%#Eval("fOwnerCode")%></td>
<td><%#Eval("fGoodsName")%></td>
<td><%#Eval("fGoodsSpec")%></td>
<td><%#Eval("fQty")%></td>
<td><%#Eval("fCustUnit")%></td>
<td><%#Eval("fUnitPrice")%></td>
<td><%#Eval("fSumPrice")%></td>
<td><%#Eval("fQty2")%></td>
<td><%#Eval("fCust2Unit")%></td>
<td><%#Eval("fCountry")%></td>
<td><%#Eval("fDutyMode")%></td>
<td><%#Eval("fMainMaterial")%></td>
<td><%#Eval("fRemark")%></td>
<td><asp:Button ID="Button1" runat="server" Text="查看单耗表"
onclick="Button1_Click" /></td>
</tr>
</ItemTemplate>
<FooterTemplate></tbody></table>
</FooterTemplate>
</asp:Repeater>
<table align="left" style=" width:60%;"><tr><td>
<asp:Label ID="Label5" runat="server" Text="当前页码为:"></asp:Label><asp:Label ID="labPage" runat="server"></asp:Label>
总页数:<asp:Label ID="labBackPage" runat="server" Text="Label"></asp:Label></td>
<td><asp:LinkButton ID="lnkbtnUp" runat="server" onclick="lnkebtnup_Click">第一页</asp:LinkButton></td><td>
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">上一页</asp:LinkButton></td><td>
<asp:LinkButton ID="LinkButton2" runat="server" onclick="LinkButton2_Click">下一页</asp:LinkButton></td><td>
<asp:LinkButton ID="LinkButton3" runat="server" onclick="LinkButton3_Click">最后一页</asp:LinkButton></td></tr></table>
</div>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" onpageindexchanging="GridView1_PageIndexChanging"
onselectedindexchanged="GridView1_SelectedIndexChanged">
</asp:GridView>
[解决办法]
<a href="TopicDetail.aspx?id=<%#Eval("Id") %>" class="a01" target="_blank" style=" text-decoration: none;">
<%#Convert.ToString(Eval("Title")) == string.Empty ? (Convert.ToString(Eval("Content")).Length > 30 ? Convert.ToString(Eval("Content")).Substring(0, 30) : Convert.ToString(Eval("Content")) ): Eval("Title")%></a>
这是我以前做过的,和你那个是一个意思
[解决办法]
Repeater里没有选择事件。麻烦一点,我一般是点击行后用AJAX传送行数据的ID,取值再追加到页面上。
如果主表换成grid就很容易了。grid的一个事件是选择行触发的。