как подсчитать количество строк в 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);