點擊DataGrid某行,如何得到該行數據的主鍵,把主鍵傳遞出來.
内部事件是可以的,傳遞到外部,在同一個畫面如何傳遞出來。
内部事件是ID=Convert.ToInt16(DataGrid.DataKeys[e.Item.ItemIndex].ToString(),10)
傳到外部來該如何。

解决方案 »

  1.   

    DataKeyField 属性上帮定你要的字段
    后置类里用
    变量 = DataGridName.DataKeys[e.Item.ItemIndex].ToString().Trim();
    这个变量就是你要的
      

  2.   

    只能在DataGrid那事件裏用,不能傳遞出DataGrid
    我想在同一個畫面,把DataGrid的主鍵傳遞出來
      

  3.   

    不好意思没好好看问题!你可以这样做,
    在DataGrid的ItemDataBound事件中这样写
    private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
      if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
      {
        ID=Convert.ToInt16(DataGrid.DataKeys[e.Item.ItemIndex].ToString(),10)//得到你所点项的ID
        e.Item.Attributes.Add("onclick","<script>alert('" + ID + "');</script>");//添加javascript 'onclick'事件,弹出这个ID。
      }
    }