我对插件应该如何处理数据集,绑定源和绑定控件感到困惑。
考虑一下场景:我有一个具有添加或更新模式的表单。更新模式很简单,主键传递到表单,填充日期集,并从数据集更新绑定源。代码看起来像这样。
Me.DS_Edit_Phantom_Block_taPhantomBlock1.Fill(Me.DS_Edit_Phantom_Block1.PHANTOM_BLOCK, CInt(mPhntmSessionNum))
bsPhantomBlock.DataSource = DS_Edit_Phantom_Block1.PHANTOM_BLOCK
插入证明要困难得多。我可以从next_sequence函数中获取一个主键(我正在使用oracle),但结果集是空白的。
我想要做的是让用户填充所需的表单,然后单击“确定”,然后在单击事件中执行绑定。
但是,我无法做出正面或反面。我似乎无法获取用户输入数据集的数据(由于外键约束而需要),而不会通过每个控件。这是我所拥有的不起作用。由于外键约束,它在执行更新时崩溃...所以我需要控件中的数据以某种方式到达数据集,希望不要手动获取每个数据。
Dim drvPhantomBlock As DataRowView = TryCast(Me.bsPhantomBlock.Current, DataRowView)
Dim drvPhantom As DataRowView = TryCast(Me.bsPhantom.Current, DataRowView)
If mViewAddEdit = ViewAddEditEnum.Add Then ' do this first
drvPhantomBlock = DirectCast(bsPhantomBlock.AddNew(), DataRowView)
Dim drPhantomBlock As DataRow = drvPhantomBlock.Row
drPhantomBlock("PHNTM_SESSION_NO") = mPhntmSessionNum
drPhantomBlock("PHANTOM_BLOCK_NO") = mPhntmBlockNum
drvPhantomBlock.EndEdit()
Me.DS_Edit_Phantom_Block_taPhantomBlock1.Update(DS_Edit_Phantom_Block1.PHANTOM_BLOCK)
bsPhantomBlock.DataSource = Me.DS_Edit_Phantom_Block_taPhantomBlock1
答案 0 :(得分:0)
我不太清楚你在做什么。当我需要向绑定源添加一行时,我使用bindingsource.addnew()方法并将一行转换为绑定源的当前属性。这是我使用的一些伪代码: bs.AddNew()
Dim mydv As DataRowView = bs.Current
Dim myrow As DataRow = mydv.Row
myrow(field1) = textbox1
myrow(field2) = textbox2
myrow.EndEdit()
bs.EndEdit 'not sure if its necessary
Tableadapter.update(DS.UnderlyingTable)