当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行

时间:2022-03-12 16:22:53
常见的问题,网上的答案比较抽象,一时看了还没办法解决。请大虾们针对性解决下
    '绑定订单信息的过程
    Private Sub BindOrderInfo(ByVal orderList As List(Of Order))
        dgvOrderInfo.AutoGenerateColumns = False
        dgvOrderInfo.DataSource = orderList
    End Sub

    '为DataGridView添加一行
    Private Sub btnAddRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddRow.Click
        dgvOrderInfo.Rows.Add()
    End Sub

怎么解决??

8 个解决方案

#1


将这行记录 添加 orderList 的表里 然后重新绑定 DataGridView

#2


不行啊,要求就是这样的,应该就是考察我们这一块,谢谢你一直帮我忙,能解决么?

#3


直接从数据源中添加新行

#4


CType(Me.BindingContext.Item(DataGridView1.DataSource, DataGridView1.DataMember), CurrencyManager).AddNew()

#5


引用 4 楼 junwhj 的回复:
CType(Me.BindingContext.Item(DataGridView1.DataSource, DataGridView1.DataMember), CurrencyManager).AddNew()


请稍作解释   看不懂

#6


引用 2 楼 babyxiong106 的回复:
不行啊,要求就是这样的,应该就是考察我们这一块,谢谢你一直帮我忙,能解决么?

什么叫 要求就是这样的? 绑定数据源后 再用dgvOrderInfo.Rows.Add()
是不行的  只能在数据源里添加 再绑定

#7


可能我说的不清楚,我要求添加一个空行,然后在那里面可以进行填写数据,进行操作,不是添加一个有数据的行

#8


引用 4 楼 junwhj 的回复:
CType(Me.BindingContext.Item(DataGridView1.DataSource, DataGridView1.DataMember), CurrencyManager).AddNew()

四楼的这个方法,我试了下,出现了“ 列表必须为 IBindingList 才能执行 AddNew”
什么意思??

#1


将这行记录 添加 orderList 的表里 然后重新绑定 DataGridView

#2


不行啊,要求就是这样的,应该就是考察我们这一块,谢谢你一直帮我忙,能解决么?

#3


直接从数据源中添加新行

#4


CType(Me.BindingContext.Item(DataGridView1.DataSource, DataGridView1.DataMember), CurrencyManager).AddNew()

#5


引用 4 楼 junwhj 的回复:
CType(Me.BindingContext.Item(DataGridView1.DataSource, DataGridView1.DataMember), CurrencyManager).AddNew()


请稍作解释   看不懂

#6


引用 2 楼 babyxiong106 的回复:
不行啊,要求就是这样的,应该就是考察我们这一块,谢谢你一直帮我忙,能解决么?

什么叫 要求就是这样的? 绑定数据源后 再用dgvOrderInfo.Rows.Add()
是不行的  只能在数据源里添加 再绑定

#7


可能我说的不清楚,我要求添加一个空行,然后在那里面可以进行填写数据,进行操作,不是添加一个有数据的行

#8


引用 4 楼 junwhj 的回复:
CType(Me.BindingContext.Item(DataGridView1.DataSource, DataGridView1.DataMember), CurrencyManager).AddNew()

四楼的这个方法,我试了下,出现了“ 列表必须为 IBindingList 才能执行 AddNew”
什么意思??