更新时间:2023-01-21 11:13:30
< div>
< asp:gridview runat = server id = grdDetails autogeneratecolumns = true datakeynames = ID,name onrowdeleting = grdDetails_RowDeleting xmlns:asp = #unknown >
< columns>
< asp:templatefield>
< itemtemplate>
< asp:linkbutton id = lnkdel runat = server text = 删除 commandname = 删除 > < / asp:linkbutton >
< / itemtemplate >
< / asp:templatefield >
< / 列 >
< / asp:gridview >
< / div >
:::代码背后:::protected void Page_Load( object sender,EventArgs e)
{
try
{
FillControls();
}
catch (例外情况)
{
}
}
private void FillControls()
{
尝试
{
DataTable dt = new DataTable();
dt.Columns.Add( ID, typeof ( int ));
dt.Columns.Add( name, typeof ( string ));
dt.Rows.Add( 1 , A跨度>);
dt.Rows.Add( 1 , B跨度>);
dt.Rows.Add( 1 , C跨度>);
dt.Rows.Add( 1 , d跨度>);
grdDetails.DataSource = dt;
grdDetails.DataBind();
}
catch (例外情况)
{
}
}
受保护 void grdDetails_RowDeleting( object sender,GridViewDeleteEventArgs e)
{
int id = int .Parse (grdDetails.DataKeys [e.RowIndex] .Values [ 0 ]。ToString());
string name = grdDetails.DataKeys [e.RowIndex] .Values [ 1 ]。ToString ();
}
您可以将ID和名称保留在列表中以供进一步使用。
I want to compare grid view row values with the database values like for ex. for a particular id i have four records in table like..
id name
1 A
1 B
1 C
1 D
i m fetching these records in grid view and displaying.If the user deletes any gridview row and tries to update it, i want to compare grid row values with database values and find out which value user has deleted and save that value in any variable before updating in database for further operations.
How can i do this?Help Me
<div> <asp:gridview runat="server" id="grdDetails" autogeneratecolumns="true" datakeynames="ID,name" onrowdeleting="grdDetails_RowDeleting" xmlns:asp="#unknown"> <columns> <asp:templatefield> <itemtemplate> <asp:linkbutton id="lnkdel" runat="server" text="Delete" commandname="Delete"></asp:linkbutton> </itemtemplate> </asp:templatefield> </columns> </asp:gridview> </div>
:::IN CODE BEHIND:::protected void Page_Load(object sender, EventArgs e) { try { FillControls(); } catch (Exception ex) { } } private void FillControls() { try { DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("name", typeof(string)); dt.Rows.Add(1, "A"); dt.Rows.Add(1, "B"); dt.Rows.Add(1, "C"); dt.Rows.Add(1, "D"); grdDetails.DataSource = dt; grdDetails.DataBind(); } catch (Exception ex) { } } protected void grdDetails_RowDeleting(object sender, GridViewDeleteEventArgs e) { int id = int.Parse(grdDetails.DataKeys[e.RowIndex].Values[0].ToString()); string name = grdDetails.DataKeys[e.RowIndex].Values[1].ToString(); }
you can keep both id and name in list for further use.