日期:2014-05-18  浏览次数:20753 次

关于WPF的DataGrid绑定数据问题
大家好,在做项目的遇到一个关于WPF的DataGrid数据显示问题。

xaml的代码如下:
<DataGrid AutoGenerateColumns="False"Name="dgOP">
  <DataGrid.Columns>
  <DataGridTextColumn Header="序号" Width="80" Binding="{Binding ID}"/>
  <DataGridTextColumn Header="描述" Width="250" IsReadOnly="True" Binding="{Binding desc}"/>
  <DataGridTextColumn Header="检测数据" Width="150"/>
  <DataGridCheckBoxColumn Header="判定结果" Width="150"/>
  <DataGridTextColumn Header="时间" Width="180" IsReadOnly="True"/>
  </DataGrid.Columns>
</DataGrid>

绑定源有一个inputType的字段,还有up字段和down字段。
现在我想实现的效果是,当inputType=1的时候,在“检测数据”里可以输入数据,“判断结果”不能修改,然后如果数据在up和down范围的时候,“判断结果”自动勾选选择。当inputType=2的时候,“检测数据”为只读,“判定结果”可以勾选。“时间”则为当前时间,每行显示的“时间”都一样。

不知道要实现这样的效果,要怎样操作?
小弟在这里先谢各位了。

------解决方案--------------------
把 <DataGridTextColumn Header="检测数据" Width="150"/>
的IsReadOnly跟inputType绑定,当然,你需要写Converter
其他需求也差不多。
至于时间,推荐给数据源加属性,可能你觉得不太合理,但是如果数据都是一样的时间,这个时间就不太应该出现在表格中。