2012-09-20 44 views
1

如果我将一个项目添加到数据绑定组合框(通过添加到数据库并刷新TableAdapter),然后如何选择新添加的项目?如何在数据绑定组合框中选择新添加的项目?

Private Sub button_Click(etc etc) etc 
    Dim frm As New FormName() 
    frm.ShowDialog() 
    'On this form I add an entry to the database 

    If frm.DialogResult = Windows.Forms.DialogResult.OK Then 
    'Refill TableAdapter 
    'Now I want to select the new item! 
    Combo.SelectedText = frm.TextBox.Text 'doesn't work - what's the best way to do this? 
    End If 
End Sub 

这不仅仅是最后一个索引,因为组合框项按字母顺序排序,它可能在列表中的任何位置。

回答

0

嗯,这是一个建议。在将值添加到数据库之前,您可以执行的操作是,为该值添加一个变量。在回发时(我相信我们正在讨论Web应用程序)时,您可以在IsPostBack子句中设置值。这可能会有更好的方式发生。但这是我的第一个想法。

+0

这不是一个Web应用程序,只是普通的Windows窗体。无论如何感谢 – Sparrowhawk

+0

好的。但我认为可以采用类似的流程逻辑。我很久没有使用表格适配器,但它应该会给你一个成功的回调。发生该事件时,请设置您先前保存的ID。 – Steven

2

您可以使用此代码

ComboBox.Items.IndexOf(ComboBox.Items.Count - 1); 
0

尝试,如果你将它添加到你的数据库,然后重新绑定组合框,不能你刚才保存的ID,当你写它,然后选择对应的项ID值?

+0

这将是伟大的,但我不知道如何做到这一点,我是这样做的,这是TableAdapter.Insert() – Sparrowhawk

+0

如果它将被添加为表中的最后一项,你可以做一个简单的循环并获取该表的最后一个id值。或者只是有一个存储过程或函数返回添加到表中的最后一个项目的值。 – Cruril

相关问题