【问题标题】:Filter DataGrid for name with TextBox dynamically使用 TextBox 动态过滤 DataGrid 的名称
【发布时间】:2016-08-31 16:05:19
【问题描述】:

首先是我的问题:我想用TextBox 动态过滤我的DataGrid 以获取Name。

我当前的代码:

DataGrid 是如何填充的:

cnb1 = new MySqlConnectionStringBuilder();
cnb1.Server = "xxxxxxxxxxxxxxxxxxx";
cnb1.Database = "xxxxxxxxxxxxxxx";
cnb1.UserID = "xxxxxxxxxxxxxxxxx";
cnb1.Password = "xxxxxxxxxxxxxxxxxx";
cn1 = new MySqlConnection(cnb1.ConnectionString);
cn1.Open();
da = new MySqlDataAdapter("SELECT * FROM AktuelleDaten", cn1);
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
da.SelectCommand.ExecuteNonQuery();
ds = new DataSet();
da.Fill(ds);
hauptübersichtgrid.ItemsSource = ds.Tables[0].DefaultView;

TextBox 的代码:

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    DataSet DV = ds;
    hauptübersichtgrid.ItemsSource = DV.Tables[0].DefaultView.RowFilter = string.Format("Name like '%{0}%'", Filter.Text);
}

看起来像这样:

【问题讨论】:

  • 只是一个细节:不要在代码上使用重音...阅读一些有关变量命名法的信息以帮助创建/维护您的项目...另外,“翻译”您正在添加的一些名称,因为,即使我知道问题所在,我也无法理解(而且我是巴西人,我什至对 deustch 有点了解)

标签: c# mysql wpf filter datagrid


【解决方案1】:

将您的代码更改为:

private void TextBox_TextChanged(object sender, EventArgs e)
{
    DataView dv = ds.Tables[0].DefaultView;
    dv.RowFilter = string.Format("Name like '%{0}%'", Filter.Text);
    hauptübersichtgrid.ItemsSource = dv;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    相关资源
    最近更新 更多