当前位置:  开发笔记 > 编程语言 > 正文

DataGridView获取当前选定的对象

如何解决《DataGridView获取当前选定的对象》经验,为你挑选了2个好方法。

我需要从da数据绑定DataGridView获取当前选定的对象.

我不需要当前所选单元格的对象,而是整个行所基于的对象,在这种情况下,BusinessObject属性将构成网格的列.

我可以查看DataSource,但它本身只是一个对象,可以是BindingSource或IBindingList或类似的东西 - 所以不容易标准化的方式来获取想要的对象.

在此之后需要检查businessObject以获取名为IsChanged的属性,并在绑定源选择下一个项目之前要求用户保存或放弃更改.因此,我必须找出DataGridView的RowValidating-Event中的当前对象,因为BindingSource不提供在更改发生之前停止更改的事件.请参阅此处了解众所周知的问题

谢谢阅读 ;-)



1> leppie..:

DataGridViewRow.DataBoundItem 包含它所绑定的"业务"对象.


谢谢你正确地暗示我,有时人们应该放松一下而不是更加强烈地寻找...

2> Kemal Duran..:

这是我的代码把它放到你的Person类中

 public static explicit operator Person(DataRow dr)
    {
        Person p = new Person();
        p.adi = dr.ItemArray[0].ToString();
        p.id = Int32.Parse(dr.ItemArray[1].ToString());
        p.soyadi = dr.ItemArray[2].ToString();
        p.kartNo = dr.ItemArray[3].ToString();
        p.dogumTarihi = DateTime.Parse( dr.ItemArray[4].ToString() );
        p.adres = dr.ItemArray[5].ToString();
        p.meslek = dr.ItemArray[6].ToString();
        p.telefon = dr.ItemArray[7].ToString();
        p.gsm = dr.ItemArray[8].ToString();
        p.eposta = dr.ItemArray[9].ToString();

        return p;
    }

这是一个更新按钮点击

DataRow row = (dataGridView1.SelectedRows[0].DataBoundItem as DataRowView).Row;
Person selected = (Person)row;

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有