gridview与checkbox的问题 希望帮下
LZ认真听第一,不用CheckBoxField,直接用BoundFiled,再把它改为模板列(别说不知道),然后编辑该模板列,添加一个checkbox,命名为chk把已经存在的label改名为lab,并设visible为false不明白的话 的QQ相关代码 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e。
Row。RowType == DataControlRowType。DataRow) { CheckBox chk = (CheckBox)e。Row。FindControl("chk"); Label lab = (Label)e。
Row。FindControl("lab"); if (lab。Text。Trim() == "1") { chk。Checked = true; } } }}。
在 gridview的RowDataBound事件中 if (e。Row。RowState == DataControlRowState。Normal || e。Row。RowState == DataControlRowState。Alternate)//便利gridview所有行 (交错行) { //假设"0"。
"1" 在gridview的第二列 if (((Label)e。Row。Cells[1]。Controls[0])。Text。Trim()== "0") { //假设复选框在gridview的第三列 ((CheckBox)e。
Row。Cells[2]。Controls[0])。Checked = false; } else { ((CheckBox)e。Row。Cells[2]。
Controls[0])。Checked = true } } }答案补充我这里说的列是这个意思:比如:复选框 放在Gridview里的第三列,当然也可以放在其它列。 以方面后台代码能正确的访问到复选框,这里用列/行的方式肯定就是确定是哪个复选框了,就像给他设置了坐标一样。
使用模板列不就行了。。在RowDataBound里判断下读取的是True还是Flase
checkbox是gridview的绑定列那么gridview可以直接用数据源连接数据库不需要设定第几列的!
其实我认为你这种情况更改数据库更加容易实现,你把数据库里的字段的数据类型设为bit型就行了,然后重新连接一下数据为,那这个为bit型的字段所对应的列就会自动生成为CHECKBOX列,并且数据对应为"True"的元组的CHECKBOX会呈现打上勾的状态
答:详情>>
答:详情>>