C# Winform中 选中DatagridView控件中某行如何将该行某个字段(1,2,3,4,)的值绑定CheckedListBox控件的数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform中 选中DatagridView控件中某行如何将该行某个字段(1,2,3,4,)的值绑定CheckedListBox控件的数相关的知识,希望对你有一定的参考价值。

this.DatagridView1.SelectedRows[0].Cells[0].Value.ToString()//获取选中行的第一列的值
其他列以此类推
CheckedListBox1.Items.add(string value);//绑定追问

CheckedListBox1.Items.add(string value);//绑定
这个(string value)用不起啊,能说明清楚点吗?小弟初学者!!!麻烦各位大哥帮下忙了~

追答

string value是你要绑定的值,比如你需要列表绑定1、2、3代码如下:
CheckedListBox1.Items.add("1");
CheckedListBox1.Items.add("2");
CheckedListBox1.Items.add("3");

参考技术A 我是直接查找,再替换上去追问

那你是怎么做到的啊,能告诉我嘛??谢谢!!!

追答

private void dgvDic_CurrentCellChanged(object sender, EventArgs e)

在这儿检查是那个位置,以显示不同的列表框
switch(dgvDic.CurrentCell.ColumnIndex)

case 0:
。。。。
break;

case 1:
。。。。
break;




定位列表框的位置大小
public static void setComboBox(ref ComboBox cmbbox, ref DataGridView dgv)

Rectangle rect = new Rectangle();
rect = dgv.GetCellDisplayRectangle(dgv.CurrentCell.ColumnIndex, dgv.CurrentCell.RowIndex, false);
cmbbox.Left = rect.Left + dgv.Left;
cmbbox.Top = rect.Top + dgv.Top;
cmbbox.Width = rect.Width;
cmbbox.Height = rect.Height;
cmbbox.Visible = true;


替换值
private void cmbPageType_SelectedIndexChanged(object sender, EventArgs e)

dgvDic.CurrentCell.Value = tabPageType.Rows[cmbPageType.SelectedIndex]["t_type"].ToString();

参考技术B 先把值转成数组

C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes和点击选中CheckBoxes时自动显示正行选中状态的单选功能。

效果图:

技术分享

主要利用两个事件:listView1_ItemCheck和listView1_SelectedIndexChanged事件。

上代码:

 

[csharp] view plain copy
 
 print?技术分享技术分享
  1. private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)  
  2. {  
  3.     if (!listView1.Items[e.Index].Checked)//如果点击的CheckBoxes没有选中  
  4.     {  
  5.         foreach (ListViewItem lv in listView1.Items)  
  6.         {  
  7.             if (lv.Checked)//取消所有已选中的CheckBoxes  
  8.             {  
  9.                 lv.Checked = false;  
  10.                 lv.Selected = false;  
  11.                // lv.BackColor = Color.White;  
  12.             }                      
  13.         }  
  14.         listView1.Items[e.Index].Selected = true;  
  15.         // lv.Checked = false;  
  16.     }  
  17.       
  18.     //int count = listView1.Items.Count;  
  19.     //ListViewItem item = listView1.Items[e.Index];  
  20.     //if (item.Checked)  
  21.     //{  
  22.     //    for (int i = 0; i < count; i++)  
  23.     //    {  
  24.     //        if (i != e.Index)  
  25.     //        {  
  26.     //            ListViewItem item1 = listView1.Items[i];  
  27.     //            item1.Checked = false;  
  28.     //        }  
  29.     //    }  
  30.     //}  
  31. }  

 

[csharp] view plain copy
 
 print?技术分享技术分享
    1. private void listView1_SelectedIndexChanged(object sender, EventArgs e)  
    2. {  
    3.   
    4.     foreach (ListViewItem lv in listView1.Items)  
    5.     {  
    6.   
    7.         if (lv.Selected)  
    8.         {  
    9.             //if (lv.Checked)  
    10.             //{  
    11.             //    //lv.Checked = false;  
    12.             //}  
    13.             //else  
    14.             //{  
    15.                 lv.Checked = true;  
    16.             //}  
    17.         }  
    18.         else   
    19.         {  
    20.             if (listView1.SelectedIndices.Count>0)  
    21.             {  
    22.                 if (lv.Checked)  
    23.                 {  
    24.                     lv.Checked = false;                             
    25.                 }  
    26.             }  
    27.               
    28.         }  
    29.     }  
    30.   
    31. }  

以上是关于C# Winform中 选中DatagridView控件中某行如何将该行某个字段(1,2,3,4,)的值绑定CheckedListBox控件的数的主要内容,如果未能解决你的问题,请参考以下文章

winform c# listview 如何 选中行!急!在线等!

winform c# listview 如何 选中行!急!在线等!

C# Winform 如何更改选中文字的颜色

c# winform编程 数据库 .net 怎么获取datagridview中选中列的列索引?

C# winform中,如何获得一个treeview中所有选中的checkbox的文本值?

C# winform中,怎样dataGridView1选中一行access数据,然后再textbox中显示