foreach(DataItem item in yourDataGrid.Items){ // find control and check its state // if your found CheckBox chk = (CheckBox)item.FindControl("chkName"); if(chk.Checked){ builderDeleteString(); } }
for(int i=0;i<this.DataGrid1.Items.Count;i++) { Label myLabel=(Label)this.DataGrid1.Items[i].FindControl("no"); CheckBox myCheckBox=(CheckBox)this.DataGrid1.Items[i].FindControl("checkBox"); if(myCheckBox.Checked) { dle delete from table where no=myLabel.Text; } }
这样还是不行啊,用i的话 就报错了 out of range
For Each oDataGridItem In dgstudent.Items chkExport = oDataGridItem.FindControl("chkExport") lblno = oDataGridItem.FindControl("lblno") If chkExport.Checked = True Then Uid = lblno.Text intresult = tmpdastudent.delete(Uid) If intresult = -1 Then lblmessage.Text = "删除操作失败" lblmessage.Visible = True End If End If Next就这样,If chkExport.Checked = True Then 如果不要这句,所有的记录全部删光了, 有了这句,就一条记录也没删掉啊
foreach(DataGridItem dataGridItem in myGroupData.Items) { if(((CheckBox)dataGridItem.FindControl("CheckBoxID")).Checked) { string ID= dataGridItem.Cells[0].Text;(如果是一般列) 然后执行:操作 delete from table where no=ID; } }
这是我的代码,可以用的 你试试 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim CkedItem As DataGridItem For Each CkedItem In Datagrid1.Items If CType(CkedItem.FindControl("CheckBox1"), CheckBox).Checked = True Then .Delete_DJ02DJ19(Request.QueryString("ID"), Trim(CkedItem.Cells(5).Text)) End If Next BindData() End Sub
For i = 0 To dgstudent.Items.Count - 1 If CType(dgstudent.Item(i).Cells(2).FindControl("chkExport"), CheckBox).Checked Then Uid = dgstudent.Items(i).Cells(0).Text intresult = tmpdastudent.delete(Uid) End If Next我另外用了一个delete按钮,不是在datagrid中的 现在就是把delete语句提到 If CType(dgstudent> 的外面就可以全部删除了>>
取出来就可以了
// find control and check its state
// if your found
CheckBox chk = (CheckBox)item.FindControl("chkName");
if(chk.Checked){
builderDeleteString();
}
}
{
Label myLabel=(Label)this.DataGrid1.Items[i].FindControl("no");
CheckBox myCheckBox=(CheckBox)this.DataGrid1.Items[i].FindControl("checkBox");
if(myCheckBox.Checked)
{
dle delete from table where no=myLabel.Text;
}
}
lblno = oDataGridItem.FindControl("lblno") If chkExport.Checked = True Then
Uid = lblno.Text
intresult = tmpdastudent.delete(Uid) If intresult = -1 Then
lblmessage.Text = "删除操作失败"
lblmessage.Visible = True
End If
End If
Next就这样,If chkExport.Checked = True Then 如果不要这句,所有的记录全部删光了,
有了这句,就一条记录也没删掉啊
{
if(((CheckBox)dataGridItem.FindControl("CheckBoxID")).Checked)
{
string ID= dataGridItem.Cells[0].Text;(如果是一般列)
然后执行:操作
delete from table where no=ID;
}
}
你试试
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim CkedItem As DataGridItem
For Each CkedItem In Datagrid1.Items
If CType(CkedItem.FindControl("CheckBox1"), CheckBox).Checked = True Then
.Delete_DJ02DJ19(Request.QueryString("ID"), Trim(CkedItem.Cells(5).Text))
End If
Next
BindData()
End Sub
chkExport = oDataGridItem.FindControl("chkExport")
改成
chkExport = Ctype(oDataGridItem.FindControl("chkExport"),CheckBox)
应该也可以
ctype(e.Item.cell(0).control(0),CheckBox)就可以找到了
If CType(dgstudent.Item(i).Cells(2).FindControl("chkExport"), CheckBox).Checked Then
Uid = dgstudent.Items(i).Cells(0).Text
intresult = tmpdastudent.delete(Uid)
End If
Next我另外用了一个delete按钮,不是在datagrid中的
现在就是把delete语句提到 If CType(dgstudent>
的外面就可以全部删除了>>