删除DataGrid中的数据行用.我是用TemplateColumn来绑定的数据。
另外,如何给<ItemTemplate>中的删除按钮添加删除确认对话框?

解决方案 »

  1.   

    老问题了
    private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
    {
     switch(e.Item.ItemType)
     {
      case ListItemType.Item :
      case ListItemType.AlternatingItem :
      case ListItemType.EditItem:
       TableCell myTableCell;
       myTableCell = e.Item.Cells[14];
       LinkButton myDeleteButton ;
       myDeleteButton = (LinkButton)myTableCell.Controls[0];
       myDeleteButton.Attributes.Add("onclick","return confirm(’您是否确定要删除这条信息’);");
       break;
      default:
       break;
     }} 
      

  2.   

    还要在Html页给DataGrid定义OnItemCreated事件
      

  3.   

    范例:
    private void MyDataGrid_Delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    SqlConnection myConnection = new SqlConnection("server=localhost;database=Test;uid=sa;pwd=123456");
    SqlCommand delCommand = new SqlCommand("delete from person where id=@id", myConnection);
    delCommand.Parameters.Add("@id",SqlDbType.Char,10);
        delCommand.Parameters["@id"].Value =MyDataGrid.DataKeys[e.Item.ItemIndex];
    myConnection.Open();
    delCommand.ExecuteNonQuery();
      myConnection.Close();
                BindDataGrid(); }
    //确认删除对话框
    private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    { //删除确认    
    Button myButton=(Button)e.Item .FindControl ("btnDelete");
    if(myButton!=null)
    {
    e.Item.Cells[4].Attributes.Add("onclick","return confirm('您真的要删除第 "+ e.Item.ItemIndex.ToString() + "行吗?')"); }
    if(e.Item.ItemIndex != -1)
    {
    e.Item.Cells[4].Attributes.Add("onclick","return confirm('您真的要删除第 "+ e.Item.ItemIndex.ToString() + "行吗?')");
    }
    }
      

  4.   

    到底如何设置DataGrid的DataKeys还是没人说清楚啊???
      

  5.   

    绑定数据源的时候设定。
    定义一个SqlDataAdapter da
    连接数据库读出数据
    定义一个dataset ds;
    da.Fill(ds);
    DataGrid.DataSource=ds.Table[0].DefaultView;
    DataGrid.DataKeyField = "ID"(ID即为数据库表的primarykey);
    DataGrid.DataBind();
    之后就可以使用DataGrid.DataKeys["ID"]取得ID的值了
      

  6.   

    e.Item.Cells[4].Attributes.Add中的e.Item.Cells[4]怎么理解?
      

  7.   

    如果在一个模板列里有几个Button.其中有一个用做Delete的.我怎么区分开来给这个Delete的button加上确认对话框呢?
      

  8.   

    DataGrid的主键属性:
    <asp:DataGrid id="grdGroupItem" runat="server" DataKeyField="ID" Width="100%">
    OR
    this.DataGrid.DataKeyField = "ID";DataSet查询时也根据主键查询
      

  9.   

    datagrid的属性列表中有datakeys这个属性,你在设计的时候就可以进行设置!
    e.Item.Cells[4]怎么理解--这个表示当前编辑行或者操作行的第四列,你可以换作先用findcontrol方法定位控件,然后给其加attributes!何datagrid有删除按钮列,就不用模版列来作了
      

  10.   

    findcontrol方法定位控件,然后给其加attributes.....是((LinkButton)e.Item.FindControl("Delete")).Attributes.Add("onclick","return confirm('您确定要删除?')");这样写吗?运行时说"未将对象引用设置到对象的实例"