jquery - 使用 jquery 获取嵌套 gridview 的总行数 - ASP.NET C#
问题描述
我有一个带有子网格视图(gvuser)的gridview(gvShop),因为它是itemtemplate,如下所示。现在我想检查该子网格视图是否为空。我怎样才能使用 jquery 做到这一点?我正在使用var totalRows = $("#<%=gvShop.ClientID %> tr").length;
但不是 gvuser 获取 gvshop 的总行数。
<asp:GridView ID="gvShop" runat="server" AutoGenerateColumns="false"
DataKeyNames="c_id" OnRowDataBound="OnRowDataBound"
ShowHeader="False">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<asp:Panel ID="pnlOrders" runat="server" Style="display: none">
<div style="float:left;width:90%">
<asp:GridView ID="gvuser" runat="server" AutoGenerateColumns="false" HorizontalAlign="Center" ShowFooter="true" Width="80%" HeaderStyle-Height="30px" >
<Columns>
<asp:TemplateField HeaderText="SNo" ItemStyle-Width="15%" ItemStyle-Height="25px">
<ItemTemplate>
<%# ((GridViewRow)Container).RowIndex + 1%></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="54%" HeaderText="Airlines" ItemStyle-Height="25px">
<ItemTemplate >
<asp:Label ID="lblusername" runat="server" Text = '<%#Eval("user_name")%>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle HorizontalAlign="Center" />
</asp:GridView></div>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ItemStyle-Width="100%" DataField="cat_name" />
</Columns>
</asp:GridView>
解决方案
在“gvuser”的嵌套gridview之前应用一个类并在jquery中使用每个循环
检查以下代码:
<asp:GridView ID="gvShop" runat="server" AutoGenerateColumns="false"
DataKeyNames="c_id" OnRowDataBound="OnRowDataBound"
ShowHeader="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Panel ID="pnlOrders" runat="server" Style="display: none">
<div style="float:left;width:90%" class="userGrid">
<asp:GridView ID="gvuser" runat="server" AutoGenerateColumns="false" HorizontalAlign="Center" ShowFooter="true" Width="80%" HeaderStyle-Height="30px">
<Columns>
<asp:TemplateField HeaderText="SNo" ItemStyle-Width="15%" ItemStyle-Height="25px">
<ItemTemplate>
<%# ((GridViewRow)Container).RowIndex + 1%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="54%" HeaderText="Airlines" ItemStyle-Height="25px">
<ItemTemplate>
<asp:Label ID="lblusername" runat="server" Text='<%#Eval("user_name")%>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle HorizontalAlign="Center" />
</asp:GridView>
</div>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ItemStyle-Width="100%" DataField="cat_name" />
</Columns>
</asp:GridView>
现在为 jQuery 使用下面的代码:
$(document).ready(function () {
$("#<%=gvShop.ClientID %> tr").each(function () {
if ($(this).find('.userGrid table tr').length > 0) {
console.log('Yes, User Data has row');
} else {
console.log('No, User Data has not any row');
}
});//end of loop
});
这里'each'循环将一一检查所有父行以检查类'.userGrid'是否有任何表。
推荐阅读
- xcode - Github Actions:xcodebuild 由于服务器指纹而失败
- reactjs - Dispatch 不是函数 useContext/useReducer React hooks
- amazon-ec2 - 客户端无法连接到 Hazelcast-jet ec2 集群
- python - 删除pytorch中张量字典列表中所有张量的某些元素
- android - 偏好屏幕为白色
- python - 如何在 Python 中更改元组?(如果可能的话)
- java - java如何处理键盘上“enter”键的输入
- r - 基于R中的逻辑操作删除重复行
- android - setContentView() 首先或最后调用?
- angular - 从 Observable 获取字符串响应