как подсчитать количество строк в gridview в javascript?
как говорится в вопросе, я хочу подсчитать количество строк в gridview через JS. Я делаю так, как это делается здесь но это не правильно.
Я также пробовал разные способы, как:
1. var rowscount = document.getElementByID('<%=Gridview1.ClientID%>').rows.length;
2. var rowscount = document.getElementByID("<%=Gridview1.ClientID%>").rows.length;
3. var rowscount = document.getElementByID('<%#Gridview1.ClientID%>').rows.length;
4. var rowscount = document.getElementByID("<%#Gridview1.ClientID%>").rows.length;
5. var rowscount = document.getElementByID("Gridview1.ClientID").rows.length;
6. var rowscount = document.getElementByID("Gridview1").rows.length;
обновление: забыл упомянуть: мой gridview находится внутри updatepanel. Какая разница? Каково правильное утверждение?
7 ответов
Если вы хотите получить количество строк из сервера, можно было бы использовать:
var rowsCount = <%=GridView1.Rows.Count %>
также можно отправить данные на JavaScript из codebehind.
DataTable dt = //configure datasource here
GridView1.DataSource = dt;
GridView1.DataBind();
HiddenField1.value = GridView1.Rows.Count.ToString();
var count = document.getElementById('HiddenField1');
alert(count.value);
Кажется, это сработало для кого-то в этой сообщение на форуме.
вы можете установить RowStyle.Cssclass свойство для gridview и подсчитывать их с помощью jQuery.
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" ...>
<RowStyle CssClass="gridrow" />
</asp:GridView>
это отобразит строки сетки с указанным классом.
<tr class="gridrow">
<td>row data here</td>
</tr>
затем вы можете подсчитать строки с помощью селектора классов
var rowscount = $(".gridrow").length;
var GridId = "<%=Questionsedit.ClientID %>";
var grid = document.getElementById(GridId);
rowscount = grid.rows.length;
попробуйте это:
var rowscount = $("#<%=GridView1.ClientID %> tr").length;
или:
как подсчитать строки в gridview в asp.net использование jQuery
нашел причину: поскольку сетка включена в страницу содержимого, javascript должен был быть включен в тег формы. Он хорошо работает! Спасибо всем за вклад!!
мы можем упростить это,
var gridViewRowCount = document.getElementById("<%= GridView1.ClientID %>").rows.length;
alert(gridViewRowCount);