0
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"/>
Так что я могу изменить только первую строку DataTable DТ через TextBox. И данные в текстовом поле не меняются при перемещении по DataGrid dgMain. Как это исправить?
Почему вы используете DataAdapter в первую очередь? Npgsql поддерживает EF - почему бы не следовать нормальному комбинированному потоку данных MvvM/EF? Также вы не показываете нам какую-либо модель просмотра, хотя в DataContext явно есть что-то связанное с предоставлением свойства name. – Maverik
Я не пробовал его в wpf, но в winforms вам нужно сообщить объекту, что имя привязанного значения и отображаемое имя, попробуйте. – Liran
Wpf не Winform :) попытка перетащить вещи по всему приведет только к страданиям. Пожалуйста, потратьте немного времени на изучение того, как на самом деле сделать это правильно. Это тривиальная вещь, с которой вы имеете дело. Присоединяйтесь к нам в WPF Chat Room для получения дополнительной информации: http://chat.stackoverflow.com/rooms/18165/wpf# – Maverik