I can suggest doing the following:
1) create a custom list object in which your data is stored. Load DB data into this object and save it in session state.
An object:
public class InvestorClaim
{
public InvestorClaim()
{
}
private int? _record_id;
private int? _ic_record_id;
private Int64? _lh_record_id;
public int? record_id
{
get { return _record_id; }
set { _record_id = value; }
}
public int? ic_record_id
{
get { return _ic_record_id; }
set { _ic_record_id = value; }
}
public Int64? lh_record_id
{
get { return _lh_record_id; }
set { _lh_record_id = value; }
}
}
:
List<InvestorClaim> inv_claim = new List<InvestorClaim>();
inv_clai= dataFromDB
:
HttpContext.Current.Session[ "InvestorClaimsObject" ] = inv_claim;
2) gridview .
protected void yourGridView_Bind()
{
inv_claim = HttpContext.Current.Session[ "InvestorClaimsObject" ] as List<InvestorClaim>;
yourGridView.DataSource = inv_claim;
BindData();
}
protected void yourGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
inv_claim = HttpContext.Current.Session[ "InvestorClaimsObject" ] as List<InvestorClaim>;
GridViewRow row = yourGridView.Rows[e.RowIndex];
inv_claim[row.DataItemIndex].lh_record_id = ((TextBox)(row.Cells[1].Controls[0])).Text;
inv_claim[row.DataItemIndex].ic_record_id = ((TextBox)(row.Cells[2].Controls[0])).Text;
yourGridView.EditIndex = -1;
yourGridView.DataSource = inv_claim;
BindData();
}
3) .