找回密码
 立即注册

QQ登录

只需一步,快速开始

薇薇尚贤

银牌会员

6

主题

14

帖子

3658

积分

银牌会员

积分
3658
薇薇尚贤
银牌会员   /  发表于:2015-11-13 09:20  /   查看:4148  /  回复:2
请问,我使用datagrid嵌套datepicker,第一次点击选择时间,可以返回给C#的list,可是我再次点击重新选择一个时间,list里面的StartDate并没有更新,还是原来最初的那个时间。
代码如下:

  1. <DataGrid>
  2.      <DataGrid.Columns>
  3.         <DataGridTextColumn Header="批次号" Binding="{Binding Path=BatchCode,Mode=TwoWay}" IsReadOnly="False" Width="280" ></DataGridTextColumn>
  4.         <DataGridTemplateColumn Header="开始时间" Width="150">
  5.                             <DataGridTemplateColumn.CellTemplate>
  6.                                 <DataTemplate>
  7.                                     <DatePicker Name="datePickerStartTimeNew" Text="{Binding Path=StartDate,Mode= TwoWay}" HorizontalAlignment="Stretch" VerticalAlignment="Center"</DatePicker>
  8.                                 </DataTemplate>
  9.                             </DataGridTemplateColumn.CellTemplate>

  10.                         </DataGridTemplateColumn>
  11.      </DataGrid.Columns>
  12. </DataGrid>
复制代码


  1. public class WorkOrderInfo
  2. {
  3.     public DateTime StartDate { get; set; }
  4.     public string BatchCode { get; set; }
  5.     public WorkOrderInfo(DataRow dr)
  6.     {
  7.         StartDate = Convert.ToDateTime(dr["StartDate"]);
  8.         BatchCode = Convert.ToString(dr["BatchCode"]);
  9.     }
  10. }

  11.     //新建一个list,用来获取datagrid里面的时间
  12.      List<WorkOrderInfo> WorkOrderInfoListCurrent = new List<WorkOrderInfo>();  
  13.     //初始化list ,并给datagrid赋值
  14.     this.dgProdOrder.ItemsSource = null;
  15.     this.dgProdOrder.ItemsSource = workOrderInfoListCurrent;            
  16.     //点击页面修改时间workOrderInfoListCurrent只发生一次变化,多次修改时间,workOrderInfoListCurrent的StartDate并不刷新
复制代码

2 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-11-13 11:59:00
沙发
回复 1楼薇薇尚贤的帖子

谢谢您的反馈。
很抱歉不能重现您的问题。
测试版本:2015V2&amp;VS2013
测试随机安装示例,路径:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples\DataGrid

测试步骤:
1.运行时,修改ExpiredDate的值,然后退出编辑状态。
2.通过如下代码获取修改的单元格的值,得到的数据是已经修改的。
  1. Product product = grid.CurrentRow.DataItem as Product;
  2.             Console.WriteLine(product.ExpirationDate.ToString());
复制代码

3.重复测试步骤1,2。依然可以得到修改后的值。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-17 10:29:00
板凳
回复 1楼薇薇尚贤的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        

评分

参与人数 1满意度 +5 收起 理由
薇薇尚贤 + 5 好久没上论坛,才看到,谢谢你的回复

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部