根据插入的文本框更新bindingsource

时间:2016-04-22 15:49:12

标签: c# vb.net oracle

我对插件应该如何处理数据集,绑定源和绑定控件感到困惑。

考虑一下场景:我有一个具有添加或更新模式的表单。更新模式很简单,主键传递到表单,填充日期集,并从数据集更新绑定源。代码看起来像这样。

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 

1 个答案:

答案 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)
相关问题