C# 怎么获取dategridview中checkbox的值?
展开全部
我是初学,我是用这个实现checkbox反选的功能,你看看能适合你用不:
(bool)datagridview.Rows[0].Cells[0].EditedFormattedValue
这条语句就是将单元格内的值变成true和false;
比如我用的时候第一行,第一列,为checkbox,那么
if((bool)datagridview.Rows[0].Cells[0].EditedFormattedValue == true)
{
//选中状态
}
else
{
//未选中状态.
}
当然,同理你也能获得它的值。例如你建一个bool变量来保存状态.
bool checkboxstate;
checkboxstate = (bool)datagridview.Rows[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 = dgvControll.Rows.Count;
switch (dgvselecttype)
{
case ControllSelectType.all_select: //全选
for (int i = 0; i < dgvcount; i++)
{
dgvControll.Rows[i].Cells[selectfiles].Value = true;
}
break;
case ControllSelectType.null_select: //不选
for (int i = 0; i < dgvcount; i++)
{
dgvControll.Rows[i].Cells[selectfiles].Value = false;
}
break;
case ControllSelectType.Inverse_select: //反选
for (int i = 0; i < dgvcount; i++)
{
if ((bool)dgvControll.Rows[i].Cells[selectfiles].EditedFormattedValue)
{
dgvControll.Rows[i].Cells[selectfiles].Value = false;
}
else
{
dgvControll.Rows[i].Cells[selectfiles].Value = true;
}
}
break;
(bool)datagridview.Rows[0].Cells[0].EditedFormattedValue
这条语句就是将单元格内的值变成true和false;
比如我用的时候第一行,第一列,为checkbox,那么
if((bool)datagridview.Rows[0].Cells[0].EditedFormattedValue == true)
{
//选中状态
}
else
{
//未选中状态.
}
当然,同理你也能获得它的值。例如你建一个bool变量来保存状态.
bool checkboxstate;
checkboxstate = (bool)datagridview.Rows[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 = dgvControll.Rows.Count;
switch (dgvselecttype)
{
case ControllSelectType.all_select: //全选
for (int i = 0; i < dgvcount; i++)
{
dgvControll.Rows[i].Cells[selectfiles].Value = true;
}
break;
case ControllSelectType.null_select: //不选
for (int i = 0; i < dgvcount; i++)
{
dgvControll.Rows[i].Cells[selectfiles].Value = false;
}
break;
case ControllSelectType.Inverse_select: //反选
for (int i = 0; i < dgvcount; i++)
{
if ((bool)dgvControll.Rows[i].Cells[selectfiles].EditedFormattedValue)
{
dgvControll.Rows[i].Cells[selectfiles].Value = false;
}
else
{
dgvControll.Rows[i].Cells[selectfiles].Value = true;
}
}
break;
展开全部
思路:遍历GridView中每一行的CheckBox。
for (int i = 0; i < this.GirdView1.Rows.Count; i++) //遍历GirdView行
{
CheckBox cb = this.GirdView1.Rows[i].Cells[0].FindControl("CheckBox1") as CheckBox; //如果知道在那一列,Cells[?]里面的值就是列值,如果不知道,可以省略。直接Rows[i].FindControl("CheckBox1")
if (cb.Checked) //CheckBox如果选中了
{
//进行选中的操作
}
}
for (int i = 0; i < this.GirdView1.Rows.Count; i++) //遍历GirdView行
{
CheckBox cb = this.GirdView1.Rows[i].Cells[0].FindControl("CheckBox1") as CheckBox; //如果知道在那一列,Cells[?]里面的值就是列值,如果不知道,可以省略。直接Rows[i].FindControl("CheckBox1")
if (cb.Checked) //CheckBox如果选中了
{
//进行选中的操作
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询