Private Sub Delectbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Delectbutton.Click Dim DataDelete As New modern Dim i As Integer For i = 0 To DataGrid1.Items.Count - 1 Dim cb As CheckBox = DataGrid1.Items(i).FindControl("chkExport") If cb.Checked Then Dim LabelId As Label = DataGrid1.Items(i).FindControl("label1") Dim CheckId As Integer CheckId = Convert.ToInt32(LabelId.Text) DataDelete.DataDelete(CheckId) End If Next CreateDataSource() End Sub
foreach (GridViewRow i in this.gridView.Rows)
{
HtmlInputCheckBox chkbox = i.FindControl("rechkbox") as HtmlInputCheckBox;
if (chkbox != null && chkbox.Checked)
{
int reId = Convert.ToInt32(chkbox.Value); //取checkbox的value
//其他的操作 }
}
我明明就是已经打上钩了?
代码如下 :
string id=null;
foreach (GridViewRow r in mainGridView.Rows)
{
CheckBox chk = (CheckBox)r.FindControl("articleID");
if (chk.Checked==false)
{
id += chk.Text + ",";
}
}
return id;
3楼的那段代码中if (chk.Checked==false)应该是if (chk.Checked==true)
其实这里也无关紧要,还是总是得不到CheckBox的Checked==true状态?
假如你的checkbox在gridview的第1列:
for(int i=0;i<= this.gridview1.Rows.Count;i++)
{
if(((CheckBox)gridview1.Rows[i].Cells[0].Controls[1]).Checked == false)
{
//操作本行
}
}
以上代码手打....可能个别字母写错,关键在于(CheckBox)gridview1.Rows[i].Cells[0].Controls[1] 就可以获得那个checkbox 如果你的checkbox不在第一列,修改Cells[0]即可,从0开始的索引.
Dim i As Integer
For i = 0 To DataGrid1.Items.Count - 1
Dim cb As CheckBox = DataGrid1.Items(i).FindControl("chkExport")
If cb.Checked Then
Dim LabelId As Label = DataGrid1.Items(i).FindControl("label1")
Dim CheckId As Integer
CheckId = Convert.ToInt32(LabelId.Text)
DataDelete.DataDelete(CheckId)
End If
Next CreateDataSource() End Sub
if (!IsPostBack)
{
getDate();
this.GridView1.DataBind();
}然后
string idStr = "";
foreach (GridViewRow row in this.GridView1.Rows)
{
if (((CheckBox)row.FindControl("chkExport")).Checked == true)
{
idStr += this.GridView1.DataKeys[row.RowIndex].Value + "<br>";
}
}
Response.Write(idStr);
{
if (!IsPostBack)
{
this.GridView1.DataBind();
}
}