读书人

WPF DATAGIRD更新数据源的有关问题

发布时间: 2013-10-22 16:16:51 作者: rapoo

WPF DATAGIRD更新数据源的问题


怎么做到在页面上点击某一行 能在下面的TEXTBOX里面分别显示出对应的数据 然后通过修改TEXTBOX里面的数据来更新数据库的数据?

如果太麻烦的话 通过直接编辑DATAGRID里面的数据来更新数据库的数据也可以 不要下面的TEXTBOX了
[解决办法]
我是在silverlight里测的。感觉和wpf差不多,俺没用过wpf,不合适勿怪。

前端:

<sdk:DataGrid x:Name="dgTest" Margin="0,0,0,0" VerticalAlignment="Top" Height="100" AutoGenerateColumns="False" FontSize="14">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn CanUserReorder="True" Binding="{Binding 合格证号,Mode=TwoWay, ValidatesOnDataErrors=True}" CanUserResize="True" CanUserSort="True" Width="Auto" Header="合格证号" />
<sdk:DataGridTextColumn CanUserReorder="True" Binding="{Binding 设备编号,Mode=TwoWay, ValidatesOnDataErrors=True}" CanUserResize="True" CanUserSort="True" Width="Auto" Header="设备编号" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<TextBox x:Name="txt全格证号" HorizontalAlignment="Left" Height="23" Margin="10,150,0,0" TextWrapping="Wrap" Text="{Binding SelectedItem.合格证号, ElementName=dgTest, Mode=TwoWay}" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="txt设备编号" HorizontalAlignment="Left" Height="23" Margin="224,150,0,0" TextWrapping="Wrap" Text="{Binding SelectedItem.设备编号, ElementName=dgTest, Mode=TwoWay}" VerticalAlignment="Top" Width="120"/>


后台:

TestDataCollection list = new TestDataCollection()
{
new TestData(){ 合格证号="01234", 设备编号="OX001"},
new TestData(){ 合格证号="111", 设备编号="11"},
};

dgTest.ItemsSource = list;
public class TestDataCollection : ObservableCollection<TestData>
{ }

public class TestData
{
public string 合格证号 { set;get;}
public string 设备编号 { set; get; }
}


因为懒所以用了这个集合ObservableCollection,

读书人网 >CAD教程

热点推荐