datagridview在虚拟模式下 ,设置datagridviewcomboboxcell.value的值

在使用DataGridView的虚拟模式时,遇到了给DataGridViewComboboxCell设置value的困扰。错误地认为应提供DisplayMember的值,但实际上应提供与ValueMember对应的值。通过设置CellValueNeeded事件并提供正确的Value,可以确保ComboBoxCell正确显示DisplayMember的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

花了几个小时,可以了,CellValueNeeded事件,提供DataGridViewComboboxCell.value的值时,

之前我以为应该提供,DispayMember的值,但这样引以异常,百思不得其解,看了N次MSDN,也没有找到

这样的使用场景,在网上,发现很多朋友都碰到这个问题,但没有发现解决的方法,其实是我们的潜意识影响

了我们。因为平常遇到问题,在网上找到了大家提供的一些信息。说实话,这是我的第一次写这东西,希望

能对遇上这个问题的你解决这个问题,好像MSDN,上有这方面的描述,可可能是我理解方面的问题,不清楚

它说得就是这个意思

 

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            List<int,string> l = new List<int,string>();
            l.Add(new test(1, "aa"));
            l.Add(new test(2, "bb"));

            this.Column1.DataSource = l;
            this.Column1.DisplayMember = "Value";
            this.Column1.ValueMember = "Key";
            this.dataGridView1.RowCount = 2;
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void dataGridView1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            e.Value = 2;//这里给的值要是ValueMember中有的数据,这样DataGridViewComboboxCell显示的值就为

                               //它相应的DisplayMember 值

        }


    }

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值