将文本框绑定到数据适配器

本文关键字:数据 适配器 绑定 文本 | 更新日期: 2023-09-27 18:17:21

.cs

    DataTable dt;
    NpgsqlDataAdapter adapter;
    NpgsqlCommand selcmd, upcmd, delcmd, inscmd;
    NpgsqlConnection conn;
    NpgsqlTransaction tran;
    public void ReadAndFill()
    {
        conn.Open();
        tran = conn.BeginTransaction();
        selcmd.Connection = conn;
        selcmd.Transaction = tran;
        dt.Clear();
        adapter.Fill(dt);
        dgMain.ItemsSource = dt.DefaultView;
        tran.Commit();
        conn.Close();
    }
    private void Window_Loaded(object sender, RoutedEventArgs e)
    { 
        ReadAndFill();
        DataContext = dt;    
    }

.xaml

<DataGrid x:Name="dgMain" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1" AutoGenerateColumns="False"/>
<TextBox x:Name="textBox" Height="23" TextWrapping="Wrap" Text="{Binding name}" Width="120"/>

所以我只能通过文本框编辑数据表 dt 的第一行。当您在 DataGrid dgMain 上移动时,文本框中的数据不会更改。如何解决?

将文本框绑定到数据适配器

在这种情况下,文本框应绑定到 DataGrid。我还没有找到一个示例来说明文本框如何绑定到DataTable/DataSet/DataAdapter并保持相同的逻辑:TextBox中的数据将通过在DataGrid上移动来更改。