我是初学,我是用这个实现checkbox反选的功能,你看看能适合你用不:
(bool)datagridviewRows[0]Cells[0]EditedFormattedValue
这条语句就是将单元格内的值变成true和false;
比如我用的时候第一行,第一列,为checkbox,那么
if((bool)datagridviewRows[0]Cells[0]EditedFormattedValue == true)
{
//选中状态
}
else
{
//未选中状态
}
当然,同理你也能获得它的值。例如你建一个bool变量来保存状态
bool checkboxstate;
checkboxstate = (bool)datagridviewRows[0]Cells[0]EditedFormattedValue;
//checkboxstate 要是为true 那就是选中的false未选中
再附上一段我用来实现功能的代码,希望可以帮到你。
/// <summary>
/// Datagridview全选 反选 不选 不选 编缉
/// </summary>
/// <param name="dgvControll">控件名称</param>
/// <param name="selectfiles">主键字段</param>
/// <param name="dgvselecttype">类型 全选 反选 不选 编缉</param>
public void DataGridViewSelect(DataGridView dgvControll, string selectfiles, ControllSelectType dgvselecttype)
{
int dgvcount = dgvControllRowsCount;
switch (dgvselecttype)
{
case ControllSelectTypeall_select: //全选
for (int i = 0; i < dgvcount; i++)
{
dgvControllRows[i]Cells[selectfiles]Value = true;
}
break;
case ControllSelectTypenull_select: //不选
for (int i = 0; i < dgvcount; i++)
{
dgvControllRows[i]Cells[selectfiles]Value = false;
}
break;
case ControllSelectTypeInverse_select: //反选
for (int i = 0; i < dgvcount; i++)
{
if ((bool)dgvControllRows[i]Cells[selectfiles]EditedFormattedValue)
{
dgvControllRows[i]Cells[selectfiles]Value = false;
}
else
{
dgvControllRows[i]Cells[selectfiles]Value = true;
}
}
break;
protected void Page_Load(object sender, EventArgs e)
{
CheckBox chk = new CheckBox();
chkText = "testall"; // 这里可以换成数据库的内容
chkCheckedChanged += new EventHandler(chk_CheckedChanged);
chkAutoPostBack = true;
PageFormControlsAdd(chk);
for (int i = 0; i < 10; i++)
{
CheckBox chk2 = new CheckBox();
chk2Text = "test" + iToString(); // 这里可以换成数据库的内容
chk2Checked = (i % 3 == 0); // 这里可以换成数据库的内容
PageFormControlsAdd(chk2);
}
}
void chk_CheckedChanged(object sender, EventArgs e)
{
CheckBox all = sender as CheckBox;
foreach(Control ctl in PageFormControls)
{
if (ctl is CheckBox)
{
CheckBox chk = ctl as CheckBox;
chkChecked = allChecked;
}
}
}
我想你要用到后台吧,那么就不能仅仅停留在前端了。
建议你给每一行的checkbox加一个name属性,比如
<input type='checkbox' value='显示' value='0' name='ckb' class='cls'>
<input type='checkbox' value='执行' value='0' name='ckb' class='cls'>
<input type='checkbox' value='更新' value='0' name='ckb' class='cls'>
值默认为0,在前台,当你选中某一个时,将其值改为1,js代码,需要用jquery
$(function(){
$("cls")click(function(){
thisvalue=1;
})
})
然后在后台用 RequestForm["ckb"]来接受checkbox的值,
就受到的值就例如这样 1 ,0 ,1
以上就是关于C# 怎么获取dategridview中checkbox的值全部的内容,包括:C# 怎么获取dategridview中checkbox的值、如何获取选中checkbox值、用Javascript怎么获取 checkbox 所选中的行的、列的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)