WPF网格 - 动态数据

时间:2015-08-16 04:45:20

标签: wpf

我到处搜索,找不到答案! 使用绑定到SQL Server的WPF网格,如何使用SQL查询的参数加载/刷新网格? 我需要在文本框中键入一个值,按一个按钮,让网格返回与文本框中的值匹配的所有行。

在网络世界中,这很简单。 (从TABLE中选择*,其中col = @param) @param =页面上的一个控件,所有这些都在Sub下。

使用VB但也可以读取c#。

1 个答案:

答案 0 :(得分:0)

你到底有什么阻碍?我在C#中实现了这一点,专注于你的问题的这一部分:“我需要在文本框中键入一个值,按一个按钮,让网格返回与文本框中的值匹配的所有行。”

public void RefreshDB()
{
    lbAreas.ItemsSource = null;
    lbNumbers.ItemsSource = null;
    listNumbers = new List<string>();
    listAreas = new List<string>();
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        string strCommand = "SELECT * FROM Phonebook";
        if (myTextBox.Text != "")
        {
            strCommand += " WHERE Area=\'" + myTextBox.Text + "\'";
        }
        using(SqlCommand command = new SqlCommand(strCommand,connection))
        {
            using (SqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    listNumbers.Add(reader["Number"].ToString());
                    listAreas.Add(reader["Area"].ToString());
                }
            }
        }
    }
    lbAreas.ItemsSource = listAreas;
    lbNumbers.ItemsSource = listNumbers;
}

然后我点击了一个按钮进行过滤。

private void Filter_Click(object sender, RoutedEventArgs e)
{
    RefreshDB();
}