根据要插入的文本框更新绑定源

本文关键字:更新 绑定 文本 插入 | 更新日期: 2024-11-08 02:34:06

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

考虑以下方案:我有一个具有添加或更新模式的窗体。 更新模式很简单,主键传递到表单中,填充日期集,并从数据集更新绑定源。 代码如下所示。

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 

根据要插入的文本框更新绑定源

我不太确定你在做什么。 当我需要向绑定源添加一行时,我使用 bindingsource.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)