【发布时间】:2017-07-06 21:18:23
【问题描述】:
这是我的复选框的记住值代码
private void RememberOldGridValues()
{
ArrayList oUserCheckedList = new ArrayList();
int index = -1;
int Value=0;
foreach (GridViewRow row in gridViewResults.Rows)
{
if (((CheckBox)row.FindControl("chkSelect")).Checked)
{
index = row.RowIndex;
Value=(int)gridViewResults.DataKeys[row.RowIndex].Value;
if (Session["CHECKED_ITEMS"] != null)
oUserCheckedList = (ArrayList)Session["CHECKED_ITEMS"];
if (oUserCheckedList.Count == 1)
{
oUserCheckedList.RemoveAt(0);
}
if (!oUserCheckedList.Contains(index))
oUserCheckedList.Add(index);
oUserCheckedList.Add(Value);
}
if (index >= 0)
break;
}
if (oUserCheckedList != null && oUserCheckedList.Count > 0)
Session["CHECKED_ITEMS"] = oUserCheckedList;
}
这是重新填充我无法在网格视图中获取数据时间。
private void RePopulateGridValues()
{
int value;
ArrayList oUserCheckedList = (ArrayList)Session["CHECKED_ITEMS"];
if (oUserCheckedList != null && oUserCheckedList.Count > 0)
{
foreach (GridViewRow row in gridViewResults.Rows)
{
string str = oUserCheckedList[0].ToString();
value=Convert.ToInt32(oUserCheckedList[1].ToString());
int i = Convert.ToInt32(str);
if (row.RowIndex == i)
{
if (value == Convert.ToInt32(row.DataItemIndex.ToString()))
{
CheckBox myCheckBox = (CheckBox)row.FindControl("chkSelect");
myCheckBox.Checked = true;
}
}
}
}
【问题讨论】:
-
你为什么要两次问同一个问题 - Grid View checkbox view state?
-
我有一个想法,因为您一次又一次地质疑。没有人会为您提供完整的代码。试试我的答案.. 祝你好运:)
-
你可以删除我的问题,这是错误的