当前位置: 代码迷 >> C# >> 新手提问-wpf 的 DataGrid里内容 不跟着数据源变化的有关问题
  详细解决方案

新手提问-wpf 的 DataGrid里内容 不跟着数据源变化的有关问题

热度:109   发布时间:2016-05-05 04:40:01.0
新手提问-------wpf 的 DataGrid里内容 不跟着数据源变化的问题
小弟新学的wpf,有很多好不明白,望高手赐教。

我在xaml里建了一个查询
                <TextBox Name="tb_input" Width="540" FontSize="20"></TextBox>
                <Button Content="查询" FontSize="20" Width="60" Margin="30,0,0,0" Click="Button_Click"></Button>
一个DataGrid,
               <DataGrid Name="ShowData" AutoGenerateColumns="False" CanUserAddRows="False" IsReadOnly="True">
                    <DataGrid.Columns>
                        <DataGridTextColumn Binding="{Binding ID}" Header="序号"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding RepairData}" Header="日期"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding ServicePersonnel}" Header="维修人员"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding Customer}" Header="客户名称"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding ProblemsCondition}" Header="问题现象"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding Reasons}" Header="分析原因"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding Workaround}" Header="解决办法"></DataGridTextColumn>
                        <DataGridTextColumn Binding="{Binding Remark}" Header="备注"></DataGridTextColumn>
                    </DataGrid.Columns>
                </DataGrid>

在CS里Button_Click事件里
1、首先根据tb_input里输入的内容去数据库中查询数据,并将查询到的数据给了一个数据集合ServiceDataList
2、讲DataGrid的ItemsSource赋值ServiceDataList


问题:
我每次第一次输入数据时候是可以正确查询到数据,界面的内容里也能显示这个数据,但是我再输入一个新的条件,点击查询时候,界面的内容不变化(后台的数据集合ServiceDataList确实变了),这时候点击界面里的标题排序,就能显示正确的数据内容了,请问这个是怎么回事?不知道哪里出现了问题。
------解决思路----------------------
数据集合ServiceDataList 是什么集合?? 要使用ObservableCollection集合作为数据源。
数据类 也就是你的class 必须实现INotifyPropertyChanged接口。
http://msdn.microsoft.com/zh-cn/magazine/dd252944.aspx
------解决思路----------------------
2楼的已经说的很清楚了
  相关解决方案