surikarthi
protected void GridView1_PreRender(object sender, EventArgs e)
{
if (Session["page" + GridView1.PageIndex] != null)
{
int count = Convert.ToInt32(ViewState["total"]);
CheckBox chb;
bool[] values = (bool[])Session["page" + GridView1.PageIndex];
for (int i = 0; i < GridView1.Rows.Count; i++)
{
chb = (CheckBox)GridView1.Rows[i].FindControl("chkStatus");
chb.Checked = values[i];
}
}
}
охраняемых недействительными GridView1_PageIndexChanging(объект отправителя, GridViewPageEventArgs е)
{
Ответ.Напишите (GridView1.Pageindex было.Метод toString());
инт д = gridview1, на.PageCount;
типа bool[] значения = новое значение bool[управления gridview1.Страницы];
Флажок ЧБ;
int count = преобразовать.ToInt32(ViewState ["total"]);
for (int i = 0; i <GridView1. Rows.Граф; i++)
{
ЧБ = (флажок)управления gridview1.Строки[я].FindControl("chkStatus");
if (chb != null)
{
значения[i] = chb.Проверен;
считать++;
}
}
Сессия ["страница" + GridView1.PageIndex] = значения;
Управления gridview1.PageIndex = e. NewPageIndex;
DataTable dtPagination = ((DataTable)Session ["details"]);
DataView dvPagination = новый DataView(dtPagination);
GridView1. DataSource = dtPagination;
Управления gridview1.Привязку();
}
я использую эти два события, я могу проверить флажок в подкачке, но я хочу знать, сколько флажков я проверил в целом gridview с помощью управления подкачкой.....
bbirajdar
Ваш код неверен
Так и должно быть
<asp:TemplateField HeaderText= "View">
& lt;itemtemplate>
&ЛТ;АСП:чекбокс с ID="chkview" атрибут runat="сервер" autopostback элемента управления="истинный" OnCheckedChanged="chkview_CheckedChanged" /&ГТ;
охраняемых недействительными chkview_CheckedChanged(объект отправителя, EventArgs в электронной)
{
if ((отправитель как флажок).Проверено= = верно)
{
Преобразовать.ToInt32 (Session["counter"])++;
}
еще
{
Преобразовать.ToInt32(сессия ["счетчик"])--;
}
}
surikarthi
сэр, если я использую ваш код, то он также подсчитывает проверенные значения снова и снова..
например..
Индекс подкачки 1 в представлении сетки я поставил флажок 1 и перешел к следующему индексу подкачки в представлении сетки, чтобы выбрать другой флажок... здесь total =2 его правильно..
Но когда я возвращаюсь к индексу подкачки 1, чтобы проверить другой флажок, на самом деле он должен показывать total=3, но он показывает total =4... это означает, что он снова подсчитывает предыдущий установленный флажок..
bbirajdar
"Но когда я возвращаюсь к индексу подкачки 1, чтобы проверить другой флажок, на самом деле он должен показывать total=3, но он показывает total =4... значит, его подсчет снова предыдущий проверенный флажок.. " .. Ок.. я внимательно прочитал этот пункт. Означает ли это, что событие chkview_CheckedChanged также запускается при изменении индекса страницы? - Тогда это странно. В идеале этого не должно быть. Событие флажка срабатывает только на Включить/выключить. Подсказка: пожалуйста, проверьте aspx, если это событие chek_checked вызывается из любого другого места по ошибке
bbirajdar
Когда вы вернетесь на предыдущую страницу, событие GridView1_PageIndexChanging будет запущено и снова подсчитает проверенные элементы, которые уже были подсчитаны. Потому что вы написали код подсчета в событии GridView1_PageIndexChanging.Независимо от того, что он будет делать это снова и снова и снова каждый раз, когда gridview1_pageindexchanging запускается.
Логика подсчета должна быть на самом деле в событии chekbox_checkedChanged.