gpt4 book ai didi

.net - 使用 VB.net 和 excel(组合框和搜索)

转载 作者:行者123 更新时间:2023-12-04 21:03:47 25 4
gpt4 key购买 nike

编程新手,需要在VB中制作程序以在后台与Excel交互

想法是有两个组合框,一个“国家”,另一个“城市”(如果选择国家,城市列表将减少到该国家;如果选择城市,将自动选择国家);

我有一个 DataGridView,它显示 excel 电子表格中的两列,即人的名字和姓氏。

因此,给定城市或国家/城市,将显示居住在该国家/地区的人员列表。

此外,我正在尝试制作一个搜索框,当您在文本字段中输入内容时,根据您迄今为止输入的内容,它将过滤 GridView 中的名字(包含您输入的内容)。

到目前为止,我已经设法让其他事情正常工作,例如具有不同选项的单选按钮和复选框。

我找不到与组合框和搜索字段有关的任何东西(没有按钮,因此需要进行“实时”过滤过程)。

我对 SQL 很满意,所以到目前为止我一直在使用 sql 将查询发送到 excel 并检索 GridView 的信息。

能否请你帮忙? (可能会提供我应该如何编码的模板......)

我正在使用 Visual Basic 2012 和 OleDB 4.0(如果我没记错的话)进行连接。

鉴于下面的评论,我为搜索栏找到的解决方法是创建一个按钮,然后使其尽可能小并通过“将其发送到后面”将其隐藏在搜索栏后面,因为它看起来不可见完全禁用它...

然后我为按钮使用了以下代码:

    Private Sub BtSearch_Click(sender As Object, e As EventArgs) Handles BtSearch.Click

Try
FillSearchResults("SELECT First_Name, Last_Name FROM [Database$] WHERE Country LIKE '%" & Country.Text & "%'")
Country.Text = dt.Rows(0).Item(1)

Catch ex As Exception
MsgBox("Not Found")
End Try

End Sub

对于文本字段(当用户按 Enter 时出现搜索结果):
Private Sub CountrySearch_TextChanged(sender As Object, e As EventArgs) Handles CountrySearch.TextChanged

Me.AcceptButton = BtSearch

End Sub

下一步:我可能会尝试应用过滤器,这样用户就不必按 Enter 来更新 GridView

我将在此处发布任何开发,以便按照建议,如果其他人有同样的问题,请更清楚地看到后续...

最佳答案

您可以申请FilterBindingSource对于 DataGridView .您可以将该代码放在 ComboBox 的事件处理程序中。的SelectedIndexChanged事件:

Private Sub myComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles myComboBox.SelectedIndexChanged
bindingSourceForMyDataGridView.Filter =
"SomeColumn LIKE '%" & myComboBox.SelectedValue & "%'"
End Sub
ComboBox 还有其他处理程序可能更适用,例如 SelectedValueChangedTextChanged .还有其他值可能更适用,这取决于 ComboBox正在填充,例如 .Text.SelectedText .

关于.net - 使用 VB.net 和 excel(组合框和搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com