请问如何设置DataGrid的DataKeys呢? 删除DataGrid中的数据行用.我是用TemplateColumn来绑定的数据。另外,如何给<ItemTemplate>中的删除按钮添加删除确认对话框? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 老问题了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; }} 还要在Html页给DataGrid定义OnItemCreated事件 范例: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() + "行吗?')"); } } 到底如何设置DataGrid的DataKeys还是没人说清楚啊??? 绑定数据源的时候设定。定义一个SqlDataAdapter da连接数据库读出数据定义一个dataset ds;da.Fill(ds);DataGrid.DataSource=ds.Table[0].DefaultView;DataGrid.DataKeyField = "ID"(ID即为数据库表的primarykey);DataGrid.DataBind();之后就可以使用DataGrid.DataKeys["ID"]取得ID的值了 e.Item.Cells[4].Attributes.Add中的e.Item.Cells[4]怎么理解? 如果在一个模板列里有几个Button.其中有一个用做Delete的.我怎么区分开来给这个Delete的button加上确认对话框呢? DataGrid的主键属性:<asp:DataGrid id="grdGroupItem" runat="server" DataKeyField="ID" Width="100%">ORthis.DataGrid.DataKeyField = "ID";DataSet查询时也根据主键查询 datagrid的属性列表中有datakeys这个属性,你在设计的时候就可以进行设置!e.Item.Cells[4]怎么理解--这个表示当前编辑行或者操作行的第四列,你可以换作先用findcontrol方法定位控件,然后给其加attributes!何datagrid有删除按钮列,就不用模版列来作了 findcontrol方法定位控件,然后给其加attributes.....是((LinkButton)e.Item.FindControl("Delete")).Attributes.Add("onclick","return confirm('您确定要删除?')");这样写吗?运行时说"未将对象引用设置到对象的实例" nhibernate [could not execute query]异常求助 如何开发一个类似于SiteManage的系统 预览上传图片的问题? 一个关于dataGrid的问题,请大家帮帮忙!! 关于buttoncolumn的问题 谁有把HTML 转成 JS 的函数代码??? 在DataSet中填入DataTable的问题(初级问题) 读access 数据库 文本型(1或0)和dategrid 问题 入门级问题 文件上传控件的accept属性,真的没有用吗? 有关数据查找的问题 我的asp.net上传到虚拟主机, 能查看网页, 不能发贴更新!
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;
}}
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() + "行吗?')");
}
}
定义一个SqlDataAdapter da
连接数据库读出数据
定义一个dataset ds;
da.Fill(ds);
DataGrid.DataSource=ds.Table[0].DefaultView;
DataGrid.DataKeyField = "ID"(ID即为数据库表的primarykey);
DataGrid.DataBind();
之后就可以使用DataGrid.DataKeys["ID"]取得ID的值了
<asp:DataGrid id="grdGroupItem" runat="server" DataKeyField="ID" Width="100%">
OR
this.DataGrid.DataKeyField = "ID";DataSet查询时也根据主键查询
e.Item.Cells[4]怎么理解--这个表示当前编辑行或者操作行的第四列,你可以换作先用findcontrol方法定位控件,然后给其加attributes!何datagrid有删除按钮列,就不用模版列来作了