Mam gridwu, który ma edytowalne pola w nim obliczam sumę każdej kolumny i wyświetlanie go w kolumnach stopek Mój kolumna Gridview wygląda tak, jak to nie aktualizowanie wartości Czy ktokolwiek pomoże mi, gdzie powinienem poprawić mój kod?

if (i == objGrid.rows.length)
{   
   objGrid.rows[i].cells[2].children[0].innerText = ClsSum;
   objGrid.rows[i].cells[3].children[0].innerText = NonSaleSum;
   objGrid.rows[i].cells[7].children[0].innerText = SecSum;
}
0
Sri 22 listopad 2013, 15:48

4 odpowiedzi

Najlepsza odpowiedź

Możesz również spróbować, umieść poniżej poniższy kod pętli

// Utwórz klasę CSS o nazwie "Footerclass" i zastosuj na szablonie Fotter kolumny

var objGrid= document.getElementById('<%=YourGrid.ClientID%>');
var cells = objGrid.getElementsByClassName('footerClass') 

cells[0].innerText = ClsSum;
cells[1].innerText = NonSaleSum;
cells[2].innerText = SecSum;
0
Neeraj Kumar Gupta 22 listopad 2013, 12:52

Możesz sprawdzić wiersz.length -1. I upewnij się, że fragment kodu zostanie wykonany po zwrotnym.

1
Apparao 22 listopad 2013, 12:16

Mam nadzieję, że ten kod będzie wykonany po związaniu Gridview. Więc sprawdź, czy zastosowałeś (!IsPostBack) W swojej metodzie Gridviewbind. Sprawdź również, czy kod osiągnie tę metodę, gdy przeładowuje lub aktualizuje swoje wartości?

1
Suraj Singh 22 listopad 2013, 12:25

Mam nadzieję, że używasz imprezy Grid_RowDataBound() i zgodnie z tym, że możesz spróbować tego

protected void Grid_RowDataBound(Object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{

   if(e.Row.RowType == DataControlRowType.Footer)
   { 
         e.Row.cells[2].children[0].innerText = ClsSum;
         e.Row.cells[3].children[0].innerText = NonSaleSum;
         e.Row.cells[7].children[0].innerText = SecSum;
    }
}
0
Bhavesh Kachhadiya 22 listopad 2013, 12:29