高级大宅男 发表于 2016-4-11 17:00:12

想限制列的输入长度,按下面写法不好用??

本帖最后由 高级大宅男 于 2016-4-14 15:33 编辑

<c1:DataGridTextColumn.CellEditingContentStyle>
    <Style TargetType="TextBox">
      <Setter Property="MaxLength" Value="10"/>
    </Style>
</c1:DataGridTextColumn.CellEditingContentStyle>

Alice 发表于 2016-4-11 17:51:17

一种是在数据源限制输入,比如:
public class MyClass
{
      [Range(0, 99999)
      public int MyNumber { get; set; }
}

第二种就是设置TextBox的MaxLength,如下代码:
         <c1:DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <TextBox Text="{Binding Path=Description, Mode=TwoWay}"
                                     TextAlignment="Center"
                                     MaxLength="5" />
                        </DataTemplate>
                  </c1:DataGridTemplateColumn.CellEditingTemplate>
可以限制输入。

Alice 发表于 2016-4-11 17:51:22

一种是在数据源限制输入,比如:
public class MyClass
{
      [Range(0, 99999)
      public int MyNumber { get; set; }
}

第二种就是设置TextBox的MaxLength,如下代码:
         <c1:DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <TextBox Text="{Binding Path=Description, Mode=TwoWay}"
                                     TextAlignment="Center"
                                     MaxLength="5" />
                        </DataTemplate>
                  </c1:DataGridTemplateColumn.CellEditingTemplate>
可以限制输入。

高级大宅男 发表于 2016-4-12 09:44:37

Alice 发表于 2016-4-11 17:51
一种是在数据源限制输入,比如:




好吧,设置模板肯定是可以,但是这里有点奇怪,我想不明白为啥直接设置Style不好用呢。我在Style里设置TextBox的Background都是好用的,但是MaxLength却无效。编辑模式的时候里面默认应该是TextBox的。

高级大宅男 发表于 2016-4-12 12:34:48

Alice 发表于 2016-4-11 17:51
一种是在数据源限制输入,比如:




我找到了。。DataGridTextColumn有MaxLength属性。。你们自己封装的你们自己都不记得了啊。。

Alice 发表于 2016-4-12 14:14:17

高级大宅男 发表于 2016-4-12 09:44
好吧,设置模板肯定是可以,但是这里有点奇怪,我想不明白为啥直接设置Style不好用呢。我在Style里设置Te ...

很抱歉误解您的意思。
如果您要使用的是C1DataGridTextColumn,里面是有MaxLength属性可以设置。
如果您想要自定义模板,可以采用我上述的建议。

高级大宅男 发表于 2016-4-14 15:33:23

Alice 发表于 2016-4-12 14:14
很抱歉误解您的意思。
如果您要使用的是C1DataGridTextColumn,里面是有MaxLength属性可以设置。
如果 ...

没事,谢了

Alice 发表于 2016-4-14 16:09:58

高级大宅男 发表于 2016-4-14 15:33
没事,谢了

不客气。
页: [1]
查看完整版本: 想限制列的输入长度,按下面写法不好用??