/// 本地缓存的表单数据 选择不良品的id链表
/// </summary>
private List<int> oldSelect
{
get
{
if (ViewState["oldSelect"] == null)
{
List<int> oldSelect = new List<int>();
ViewState["oldSelect"] = oldSelect;
}
return ViewState["oldSelect"] as List<int>;
}
set
{
ViewState["oldSelect"] = value;
}
}
/// <summary>
/// 记录当前页选中的物料行
/// </summary>
public void gvProductsBindBefore()
{
bool check = false;
int id = 0;
foreach (GridViewRow gvRow in gvProducts.Rows)
{
check = (gvRow.FindControl("cbSelectProduct") as CheckBox).Checked;
id = int.Parse((gvRow.FindControl("lblProductId") as Label).Text);
if (check)
{
if (!oldSelect.Contains(id))
{
oldSelect.Add(id);
}
}
else
{
if (oldSelect.Contains(id))
{
oldSelect.Remove(id);
}
}
}
}
/// <summary>
/// 恢复当前页选中的物料行
/// </summary>
public void gvProductsBindForward()
{
int id;
foreach (GridViewRow gvRow in gvProducts.Rows)
{
id = int.Parse((gvRow.FindControl("lblProductId") as Label).Text);
if (oldSelect.Contains(id))
{
(gvRow.FindControl("cbSelectProduct") as CheckBox).Checked = true;
}
}
}
/// <summary>
/// gridview数据绑定
/// </summary>
public void gvProductsBind()
{
gvProductsBindBefore();//记录当前页选中的物料行
this.gvProducts.DataSource = Stocks;
this.gvProducts.DataBind();
gvProductsBindForward();//恢复当前页选中的物料行
}