簡體   English   中英

如何在WPF C#中將Form1的文本框內容解析為Form2的DataGrid

[英]How to solve form1's Textbox contents to form2's datagrid in wpf c#

  1. 在這里,保存按鈕以另一種名為Addwindow的形式出現
  2. 另一種名為Machine_List的形式的Datagrid
  3. 我需要解決方案,當我單擊“保存”按鈕時,文本框值必須同時存儲在datagrid中。

在這里下面的WPF C#代碼正在使用,但我無法獲取數據。

private void SaveButton_Click(object sender, RoutedEventArgs e)//Save Button
{
    Machine_List m = new Machine_List();//the datagrid present here Another form named Machine_List
    if (this.Edit)
        this.db.Datastore("UPDATE [databasename].[dbo].[Machinedup] SET [Name] = '" + textBox1.Text   + "',[Type] = '" + comboBox1.SelectedItem + "',[AETitle] = '" + this.textBox2.Text + "',[IPAddress] = '" + textBox3.Text + "',[Port]='" + textBox4.Text + "' WHERE [ID] = '" + (string)(object)this.ID + "'");
    else
        this.db.Datastore("INSERT INTO [databasename].[dbo].[Machinedup] ([Name],[Type],[AETitle],[IPAddress],[Port]) VALUES('" + textBox1.Text + "','" + comboBox1.SelectedIndex.ToString() + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')");
    this.Close();
    DataTable dataTable = db.DataTab("SELECT [Name],[Type] AS Type,[AETitle] AS AET,[IPAddress] AS IP,[Port] AS PO FROM [databasename].[dbo].[Machinedup] WHERE ID ='" + (object)this.ID + "'");
    DataRow row = dt.NewRow();
    row[0] = textBox1.Text;
    row[1] = textBox2.Text;
    dt.Rows.Add(row);
    m.dataGrid1.ItemsSource = dt.DefaultView;
}

如果您使用的是其他表單/窗口。 在保存按鈕中,您要做的就是保存數據。

private void SaveButton_Click(object sender, RoutedEventArgs e)//Save Button
{


    this.db.Datastore("UPDATE [databasename].[dbo].[Machinedup] SET [Name] = '" + textBox1.Text   + "',[Type] = '" + comboBox1.SelectedItem + "',[AETitle] = '" + this.textBox2.Text + "',[IPAddress] = '" + textBox3.Text + "',[Port]='" + textBox4.Text + "' WHERE [ID] = '" + (string)(object)this.ID + "'");
else
    this.db.Datastore("INSERT INTO [databasename].[dbo].[Machinedup] ([Name],[Type],[AETitle],[IPAddress],[Port]) VALUES('" + textBox1.Text + "','" + comboBox1.SelectedIndex.ToString() + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')");
this.Close();

}

在您的數據網格所位於的表單中,創建一個將刷新您的數據網格的方法

 public void refreshgrid()
{


 cmd = new SqlCommand("SELECT [Name],[Type] AS Type,[AETitle] AS AET,    [IPAddress] AS IP,[Port] AS PO FROM [databasename].[dbo].[Machinedup] WHERE ID ='" + (object)this.ID + "'",conn); 
        da = new SqlDataAdapter(cmd);

        dt = new DataTable("Machineup");
        da.Fill(dt);
        dataGrid1.ItemsSource = dt.DefaultView;

}

並在window_loaded中調用該方法。

  private void Window_Loaded(object sender, RoutedEventArgs e)
 {
   refreshgrid();
 }  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM