datakeynames的设定和取值

转载 2007年09月30日 09:45:00

DataKeyNames就是数据库表的字段,可以设置多个。
<asp:GridView ID="gvGoods" runat="server" AutoGenerateColumns="False" Width="550px" AllowPaging="True" DataKeyNames="s_goodsID,s_goodsName" OnPageIndexChanging="gvGoods_PageIndexChanging" OnRowDataBound="gvGoods_RowDataBound" OnRowCommand="gvGoods_RowCommand">

使用 DataKeyNames 属性指定表示数据源主键的字段。

注意
若要以声明方式设置此属性,请使用以逗号分隔的字段名列表。


当设置了 DataKeyNames 属性时,GridView 控件用来自指定字段的值填充它的 DataKeys 集合,这提供了一种访问每个行的主键的便捷方法。

注意
GridView 控件以控件状态存储这些键字段值。如果这些值包含敏感信息,则强烈建议您通过将 ViewStateEncryptionMode 属性设置为 ViewStateEncryptionMode.Always 来启用视图状态加密。


在使用自动生成的字段列时(通过将 AutoGenerateColumns 属性设置为 true),GridView 控件自动确保与 DataKeyNames 属性中指定的字段相对应的自动生成字段列是只读的。

注意
为了使 GridView 控件的自动更新和删除功能工作,必须设置 DataKeyNames 属性。为了匹配要更新或删除的行,这些键字段的值被传递到数据源控件。


如果将某个列字段的 Visible 属性设置为 false,则在 GridView 控件中将不显示该列,该列中的数据也不会往返于客户端。如果希望某个不可见的列中的数据可以进行往返,则向 DataKeyNames 属性添加相应的字段名称。

一个删除的例子:
注意:DataKeyField=的用法


=====页面=====

<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataKeyField="DoubleKey">
                <Columns>
                    <asp:BoundColumn DataField="item" HeaderText="item"></asp:BoundColumn>
                    <asp:ButtonColumn CommandName="del" Text="删除"></asp:ButtonColumn>
                </Columns>
            </asp:DataGrid>

====绑定========

private void SetBind()
        {
            SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
            SqlDataAdapter da=new SqlDataAdapter("select * from doublekey",conn);
            DataSet ds=new DataSet();
            da.Fill(ds);
            DataTable dt=ds.Tables[0];
            DataColumn dc=new DataColumn("DoubleKey",typeof(string),"key1+'#'+key2");
            dt.Columns.Add(dc);
            this.DataGrid1.DataSource=dt;
            this.DataGrid1.DataBind();
        }



=====删除====

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if(e.CommandName=="del")
            {
                SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
                SqlCommand comm=new SqlCommand("delete from doublekey where key1=@key1 and key2=@key2",conn); 
                SqlParameter parm1=new SqlParameter("@key1",SqlDbType.Int);
                SqlParameter parm2=new SqlParameter("@key2",SqlDbType.Int); 
                string [] keys=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString().Split('#');
                parm1.Value=keys[0];
                parm2.Value=keys[1];
                comm.Parameters.Add(parm1);
                comm.Parameters.Add(parm2); 
                conn.Open(); 
                comm.ExecuteNonQuery(); 
                conn.Close(); 
                SetBind(); 
            }
        } 

 

通过 scikit-learn 实现情感分析

Python 在机器学习领域应用是非常广泛的,比如,我们可以使用机器学习进行验证码识别,使用机器学习实现计算机视觉项目,或者,我们也可以使用机器学习技术实现网页分类、文本挖掘、情感分析等等各种各样的事情。机器学习的重点在于算法,而算法的学习相对来说是比较枯燥的,所以,只有在学习的时候让算法跟实例结合,才能够让算法的学习变得不枯燥,并且也才能够更好的将理论运用与实践。
  • 2017年06月05日 15:27

GridView绑定DataKeyName以及如何取这些值

DataKeyNames='FID'   //前台绑定一个值 GridView1.DataKeys[e.Row.RowIndex].Value.ToString; ----------------...
  • angel20082008
  • angel20082008
  • 2014-06-23 20:33:55
  • 7572

GridView设置多个DatakeyNames并获取值

当我们在GridView中想实现删除功能时,有两种方法(具体可见我以前的blog “GridView经典删除操作,两种方法”一文 http://blog.csdn.net/spring21st/arc...
  • spring21st
  • spring21st
  • 2007-10-28 18:14:00
  • 7052

【转】GridView的DataKeyNames的一些用法

【转】GridView的DataKeyNames的一些用法  (2012-07-25 17:45:46) 转载▼ 标签:  杂谈 分类: 数据绑定控件使用 页面前台有...
  • ssharet
  • ssharet
  • 2016-04-17 21:12:07
  • 469

Griview中DataKeyNames的用法(多个主键)?

1.单个主键  using System;  using System.Data;  using System.Configuration;  using System.Collections...
  • smeyou
  • smeyou
  • 2013-05-03 13:16:49
  • 938

GridView的DataKeyNames和DataKeys属性

DataKeyNamespace属性:获取或设置一个数组,该数组中包含了显示 在GridView控件中的项的主键字段的名称。         DataKeys属性:获取一个DataKey对象集合,这些...
  • liusong0605
  • liusong0605
  • 2011-11-30 21:59:22
  • 3596

目标设定与时间管理

目标的设定   目标 目标是一种未来的远景,为了实现它,人们愿意做些努力。如果说你没有去做努力,那只不过是一个企图。   【案例】 1953年,美国耶鲁大学对应届毕业生做了一项研究调查,他...
  • dainiao01
  • dainiao01
  • 2011-11-15 22:13:50
  • 635

数字定时闹钟程序及相关文档

  • 2011年07月29日 11:12
  • 323KB
  • 下载

宝马E38系列行车电脑密码的设定和解除

  • 2010年04月20日 18:17
  • 19KB
  • 下载

gridveiw中DataKeyNames属性的作用

gridveiw中DataKeyNames的属性是绑定数据库中字段的
  • jixiaomeng821
  • jixiaomeng821
  • 2014-08-20 15:18:04
  • 478
收藏助手
不良信息举报
您举报文章:datakeynames的设定和取值
举报原因:
原因补充:

(最多只允许输入30个字)