找回密码
 立即注册

QQ登录

只需一步,快速开始

q406157290

高级会员

124

主题

531

帖子

1359

积分

高级会员

积分
1359

活字格认证

q406157290
高级会员   /  发表于:2015-10-10 10:14  /   查看:7306  /  回复:9


现在以5分的增长 如何控制1分的增长

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
KNight
中级会员   /  发表于:2015-10-10 14:55:00
沙发
回复 1楼q406157290的帖子
  1. dataGrid.BeganEdit += (sender, e) =>
  2. {
  3.         ((C1.WPF.DateTimeEditors.C1DateTimePicker)(e.EditingElement)).TimeIncrement = new TimeSpan(0, 1, 0);
  4. };
复制代码


可以在编辑单元格时将其中的C1DateTimePicker控件的TimeIncrement 属性设置成1分钟;
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-10-10 16:45:00
板凳
回复 2楼KNight的帖子

<c1:C1DateTimePicker DateTime ="{Binding PageModel.MeasTime, Mode=TwoWay}" TimeIncrement="00:01:00" />
C1DateTimePicker 有这样的属性TimeIncrement
DataGridDateTimeColumn 没有类似的属性吗
我实现不想在后台写
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-10 19:18:00
地板
回复 3楼q406157290的帖子

没有这个属性。
但在wpf平台下,你可以自定义模板,你可以给Column制定一个DateTimePicker类型的DataTemplate,并设置TimeIncrement属性。如何给C1DataGrid的列设置模板,之前的帖子里都有关详细的方法。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-10-12 08:37:00
5#
回复 4楼Alice的帖子

也就是说 C1DateTimePicker 设置成时间类型的话就只能按照5分钟的增长 ,而且还不能通过某个属性修改增长幅度  这是不是有点.........
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-12 10:42:00
6#
回复 5楼q406157290的帖子

很抱歉没有理解你的意思。
2楼和4楼分别给出了两种解决方法,可是你说不能实现,我不太理解。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-10-12 11:12:00
7#
回复 5楼q406157290的帖子
  1. public override FrameworkElement GetCellEditingContent(DataGridRow row)
  2. {
  3.         Control control;
  4.         if (this.EditMode == DataGridDateTimeColumnEditMode.Custom)
  5.         {
  6.                 control = new C1TextBoxBase();
  7.                 if (base.Binding != null)
  8.                 {
  9.                         Binding binding = base.CopyBinding(base.Binding, null);
  10.                         control.SetBinding(C1TextBoxBase.C1TextProperty, binding);
  11.                 }
  12.         }
  13.         else
  14.         {
  15.                 C1DateTimePicker c1DateTimePicker = new C1DateTimePicker();
  16.                 switch (this.EditMode)
  17.                 {
  18.                         case DataGridDateTimeColumnEditMode.Date:
  19.                                 c1DateTimePicker.EditMode = C1DateTimePickerEditMode.Date;
  20.                                 break;
  21.                         case DataGridDateTimeColumnEditMode.Time:
  22.                                 c1DateTimePicker.EditMode = C1DateTimePickerEditMode.Time;
  23.                                 break;
  24.                 }
  25.                 c1DateTimePicker.DateFormat = this.DateFormat;
  26.                 c1DateTimePicker.TimeFormat = this.TimeFormat;
  27.                 c1DateTimePicker.CustomDateFormat = this.CustomDateFormat;
  28.                 c1DateTimePicker.CustomTimeFormat = this.CustomTimeFormat;
  29.                 c1DateTimePicker.HorizontalAlignment = base.HorizontalAlignment;
  30.                 c1DateTimePicker.AllowNull = base.AllowNull;
  31.                 c1DateTimePicker.MaxDate = this.MaxDate;
  32.                 c1DateTimePicker.MinDate = this.MinDate;
  33.                 if (this._firstDayOfWeekSet)
  34.                 {
  35.                         c1DateTimePicker.FirstDayOfWeek = this.FirstDayOfWeek;
  36.                 }
  37.                 c1DateTimePicker.Padding = new Thickness(0.0);
  38.                 c1DateTimePicker.CornerRadius = new CornerRadius(0.0);
  39.                 if (base.Binding != null)
  40.                 {
  41.                         Binding binding2 = base.CopyBinding(base.Binding, null);
  42.                         c1DateTimePicker.SetBinding(C1DateTimePicker.DateTimeProperty, binding2);
  43.                 }
  44.                 c1DateTimePicker.AddHandler(UIElement.KeyDownEvent,
  45.                         new KeyEventHandler(this.picker_KeyDown), true);
  46.                 control = c1DateTimePicker;
  47.         }
  48.         control.VerticalContentAlignment = base.VerticalAlignment;
  49.         if (base.CellEditingContentStyle != null)
  50.         {
  51.                 control.Style = base.CellEditingContentStyle;
  52.         }
  53.         return control;
  54. }
复制代码


DataGridDateTimeColumn实际上用的也是c1DateTimePicker控件的,只是该控件默认增减幅度为5分钟,
  1. C1DateTimePicker.TimeIncrementProperty = DependencyProperty.Register(&quot;TimeIncrement&quot;, typeof(TimeSpan), typeof(C1DateTimePicker), new PropertyMetadata(TimeSpan.FromMinutes(5.0)));
复制代码

而且在DataGridDateTimeColumn中C1DateTimePicker也是New出来的,且并未开放该控件属性或者该控件的增减幅度(TimeIncrement)属性,所以无法在XAML中配置;

程序员自当灵活使用控件,毕竟不会存在完美的控件,完美的代码,完美的程序员;

评分

参与人数 1金币 +999 满意度 +5 收起 理由
Alice + 999 + 5 非常感谢

查看全部评分

回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-10-12 17:33:00
8#
回复 6楼Alice的帖子

辛苦您了  但是我没说2楼和4楼给出的解决方法不能实现,只是不想用那种方式
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-10-12 17:39:00
9#
回复 7楼KNight的帖子

  谢谢您   辛苦您了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-13 09:17:00
10#
回复 8楼q406157290的帖子

很抱歉没有理解您的意思。
7楼@KNight给出了详细的方案。

此问题关闭。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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