欲实现功能:模板列中加入checkbox用以标识该行是否被选,暂且先通过按按钮在LABEL中加字符串的方法跟踪是否成功
遇到问题:服务器不认选中的CHECKBOX,但是若将按钮先添加功能全部选中,在查看则认为已全部选中
代码如下,省略数据绑定的部分
private void Button1_Click(object sender, System.EventArgs e)
{
//foreach(DataGridItem item in dg.Items)
{
//((CheckBox)item.Cells[0].Controls[1]).Checked=true;
//Label1.Text+="d";
//如果添加这段代码则LABEL1有dddd...,这里注释掉在运行时动态选择,LABEL1无内容
}
foreach(DataGridItem item in dg.Items)
{
if(((CheckBox)item.Cells[0].Controls[1]).Checked==true)
Label1.Text+="ddd";
}
}
遇到问题:服务器不认选中的CHECKBOX,但是若将按钮先添加功能全部选中,在查看则认为已全部选中
代码如下,省略数据绑定的部分
private void Button1_Click(object sender, System.EventArgs e)
{
//foreach(DataGridItem item in dg.Items)
{
//((CheckBox)item.Cells[0].Controls[1]).Checked=true;
//Label1.Text+="d";
//如果添加这段代码则LABEL1有dddd...,这里注释掉在运行时动态选择,LABEL1无内容
}
foreach(DataGridItem item in dg.Items)
{
if(((CheckBox)item.Cells[0].Controls[1]).Checked==true)
Label1.Text+="ddd";
}
}
数据绑定的地方是否有
if(!Page.IsPostBack)
{
//你绑定的数据应该再这里
}
这个条件
每次调用就可以了
基类如下
public ArrayList GetSelectIDs(DataGrid dg)
{
ArrayList alTemp=new ArrayList();
foreach(DataGridItem dgi in dg.Items)
{
foreach(Control ctl in dgi.Cells[0].Controls)
{
CheckBox cb=ctl as CheckBox;
if(cb!=null)
{
if(cb.Checked)
alTemp.Add(int.Parse(dgi.Cells[1].Text));
}
}
}
return alTemp;
}
{
if(((CheckBox)(item.Cells[0].Controls[1])).Checked)
{//做什么?什么地方有错?
}
}