【问题标题】:Binding a Datagrid using a value of a textbox使用文本框的值绑定 Datagrid
【发布时间】:2018-03-02 12:09:39
【问题描述】:

我有一个 WPF 应用程序。 我正在尝试通过使用文本框中显示的值查询我的 sql 数据库来绑定数据网格。 目前,TextBox 正在显示上一个窗口中的选定项目。

我希望从我的付款表中显示日期和金额,其中名称与我的 TextBox 中显示的所选项目相同。

     private void BinddatagridPaid()
     {
         SqlConnection sqlCon2 =
             new SqlConnection(@"Data Source = ODHRAN\SQLEXPRESS; Initial 
         Catalog = FitnessWorks; Integrated Security = True")
         sqlCon2.Open();
         SqlCommand cmd2 = new SqlCommand();
         string Value = textBox1.Text;

         cmd2.CommandText = "SELECT Payments.DatePaid, Payments.Amount FROM 
         Payments Where Payments.Name=@Value";
         cmd2.Parameters.AddWithValue("@Value", Value);

         cmd2.Connection = sqlCon2;
         SqlDataAdapter da = new SqlDataAdapter(cmd2);
         DataTable dt2 = new DataTable("AmountPaid");

         da.Fill(dt2);

         DataGridPaid.ItemsSource = dt2.DefaultView;
     }   

这是我如何填充文本框的代码:

       private void DataGrid2_OnMouseDoubleClick(object sender, 
       MouseButtonEventArgs e)
        {
          MemberSesh ms = new MemberSesh();
          DataGrid gd1 = (DataGrid)sender;
          DataRowView row_selected = gd1.SelectedItem as DataRowView;
          if (row_selected != null)
           {
            ms.textBox1.Text = row_selected["Name"].ToString();
            ms.textBox2.Text = row_selected["Cost"].ToString();
           }
          ms.ShowDialog();
        }

我无法使用 TextBox 中的值来查询数据库并填充数据网格。

【问题讨论】:

  • 请清楚说明您面临的问题是什么?
  • 我无法使用 TextBox 中的值来查询数据库并填充数据网格。
  • 你的意思是 string Value = textBox1.Text; 没有获取正确的值?
  • 正确,这是因为我使用 row_selected 在 textBox1 中显示名称的方式吗?
  • 那个 textBox1 实例来自哪里以及它的 text 属性设置在哪里?

标签: c# wpf data-binding datagrid


【解决方案1】:

您需要访问父表单textBox1 实例以在MemberSesh 表单中设置文本属性。

您可以使用新表单的this.Parent 属性访问父表单。您首先需要投射,然后使用 textBox1 成员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多