devexprss中,gridcontrol使用editform新建行,输入信息消失bug

在Devexprss的gridcontrol中使用editform编辑模式添加新行时,遇到输入信息会消失的bug。问题源于数据源为List而非DataTable。解决方案是将List转换为DataTable作为数据源,并在处理GridView数据时注意正确转换为实体对象。

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

问题描述

描述项目中遇到的问题:

在Devexprss的gridcontrol控件中,使用editform编辑模式,实现添加新行的需求。但是弹出的空白editform中,输入信息时,会造成已输入信息消失。(比如:输入第一个框,第二个框后,输入第三个框时,第一个信息会消失)

@Override
	private void Form1_Load(object sender, EventArgs e) {
            List<Data> dataList = new List<Data>()
            {
                new Data(){Type1 = "One", Type2 = "Two",Type3 = "Three"},
                new Data(){Type1 = "One", Type2 = "Two",Type3 = "Three"},
                new Data(){Type1 = "One", Type2 = "Two",Type3 = "Three"},
                new Data(){Type1 = "One", Type2 = "Two",Type3 = "Three"},
                new Data(){Type1 = "One", Type2 = "Two",Type3 = "Three"},
                new Data(){Type1 = "One", Type2 = "Two",Type3 = "Three"}
            };
            this.gridControl1.DataSource = dataList;
        }

在这里插入图片描述


原因分析:

经过测试,发现是数据源的问题,datasource是datatable类型时,输入信息基本正常;但只要是list集合时,就会有这种奇怪的bug产生。


解决方案:

将数据源做处理,把list集合转换为datatable进行赋值,然后还要注意gridview的数据源是datatable时,使用gridview1.getrow(rowhandle) as Company无法转换成功,必须用gridview1.getdatarow,再将datarow转换为实体对象,才能拿到数据。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值