将网格行值与表行值进行比较 [英] compare grid row values with table row values

查看:50
本文介绍了将网格行值与表行值进行比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想比较网格视图行值和数据库值,例如ex。对于一个特定的id我在表中有四个记录如...

id name

1 A

1 B

1 C

1

im在网格视图中显示这些记录并显示。如果用户删除任何gridview行并尝试更新它,我想比较网格行值使用数据库值并找出用户已删除的值,并在更新数据库以进行进一步操作之前将该值保存在任何变量中。

我该怎么做?帮助我

解决方案

< 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 >
< / < span class =code-keyword>>
< / 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.


这篇关于将网格行值与表行值进行比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆