我的代码是Dim Cmd As New SqlCommand, cn As New SqlConnection
cn.ConnectionString = ConfigurationSettings.AppSettings("cn")
Dim da As SqlDataAdapter = New SqlDataAdapter("Select * from Mydata order by PhotoID desc", cn)
Dim ds As DataSet = New DataSet("Datas")
da.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
da.Dispose()
ds.Dispose()但用vs.net 2003在界面上拖放了个 datagrid控件.我想可以便于删除.
在属性生成器中设置 删除按钮.但 接来下不知道怎么和 上面的代码关联起来了
cn.ConnectionString = ConfigurationSettings.AppSettings("cn")
Dim da As SqlDataAdapter = New SqlDataAdapter("Select * from Mydata order by PhotoID desc", cn)
Dim ds As DataSet = New DataSet("Datas")
da.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
da.Dispose()
ds.Dispose()但用vs.net 2003在界面上拖放了个 datagrid控件.我想可以便于删除.
在属性生成器中设置 删除按钮.但 接来下不知道怎么和 上面的代码关联起来了
{
SqlCommand sqlCom = new SqlCommand("delete from ×× where id = @id",SqlConnection);
sqlCom.Parameters["@id"].Value = DataGrid.DataKeys[e.Item.ItemIndex];
}
试一下 看看好用不 这个事件在vs.net 2003中能找到
this.DataGrid.DataKeyField = "id"
不要人家写了id你就绑id啊
<input type="hidden" id="testID" ruat="server" value='<%#DataBinder.Eval(Container.DataItem,"YourID")%>'>然后在cs中得到这个testID.Value即可。
比如:
foreach(DataGridItem item in this.DataGrid1.Items)
{
HtmlInputHidden test=new HtmlInputHidden();
test=(HtmlInputHidden)item.FindControl("testID");
delsql Where ID=test.Value;
}大体就是这样。
那个e.Item.ItemIndex 就是你要删除的ID的值
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int sID = Convert.ToInt32(this.DataGrid1.DataKeys[e.Item.ItemIndex]);
}
取出所设的DataKeyField的值