SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds,"EventDetail");
gdvEventDetail.DataSource = ds;
gdvEventDetail.DataKeyNames = ??
gdvEventDetail.DataBind();请问dataKeyNames后面怎么用ds中"EventDetil"表的"id"这一列绑定啊

解决方案 »

  1.   

    这样的问题,我给你说个较好的通用方法,你书写这样的代码gdvEventDetail.DataKeyNames 然后把鼠标放在DataKeyNames这个属性上,你可以看到这个属性是什么类型,它是什么类型你就给它赋什么类型的数据,绝对没有问题,这个时候你把你的字段与这个属性类型结合,肯定能找到你的答案,估计以后可以解决很多问题
      

  2.   

    我知道这个是string[]类型的,但我不知道怎么从DataSet中取出来"id"那一列的值啊.
    SqlDataReader dr = cmd.ExecuteReader();
    gdvEventDetail.DataSource = dr;
    gdvEventDetail.DataKeyNames = new string[] { "id" };
    gdvEventDetail.DataBind();
    这样能取出来,但是我想用DataSet,就不知道后面怎么得到那个值了
      

  3.   

    呃,是不是不关用什么的事啊?只是从GridView中绑定的那个"id"列直接取出来的
      

  4.   

    GridView1.DataKeys[e.RowIndex].value获取的就是你指定的那一行的id值
      

  5.   

    我已经弄好了,谢谢了啊,我还以为那个主键值是从DataSet中取出来的,原来是自己在GridView指定的列中的值,和DataSet没关系了,呵呵
      

  6.   


    gdvEventDetail.DataKeys[e.RowIndex]["ID"].ToString();