【问题标题】:Silverlight Telerik GridView MaxLength?Silverlight Telerik GridView MaxLength?
【发布时间】:2012-01-30 18:57:40
【问题描述】:

我正在使用用于 silverlight 的 Telerik gridview,并且我尝试在 gridview 填充数据后以编程方式设置每个单独列的最大字符长度。 我想这样做,当用户插入或编辑列的单元格时,最大(字符)长度是根据控制记录的最大长度设置的。到目前为止,我只能设置 MaxWidth,但这对我没有帮助,因为列标题总是比允许的实际文本长,并且 MaxWidth 以像素为单位设置列宽,而不是编辑最大字符长度的列。有人可以指出我正确的方向。如果需要,我可以提供一些代码。

我尝试将其设置为 column.CellEditTemplate.SetValue(TextBoxEditor.MaxLengthProperty, MYMAXLENGTH);

但它给了我一个错误。

【问题讨论】:

    标签: silverlight gridview telerik maxlength


    【解决方案1】:

    这样的事情怎么样?

    Style textBoxStyle = new Style(typeof(TextBox));
    textBoxStyle.Setters.Add(new Setter(TextBox.MaxLengthProperty, myMaxLength));
    (this.MyGrid.Columns[0] as GridViewBoundColumnBase).EditorStyle = textBoxStyle;
    

    http://www.telerik.com/community/forums/silverlight/gridview/best-way-to-set-maxlength-on-gridviewdatacolumn.aspx

    【讨论】:

    • 这行得通。我大概读了 10 次该线程,但作为 silvelright、wpf 和 telerik 的新手,我不明白 EditorStyle 的含义。谢谢。
    【解决方案2】:

    我不确定您的网格的数据上下文是什么或“控制记录”在哪里,但也许这样的事情会有所帮助?

    <telerik:RadGridView ItemsSource="{Binding MyData, Source={StaticResource MyViewModel}}">
        <telerik:RadGridView.Columns>
            <telerik:GridViewDataColumn>
                <telerik:GridViewDataColumn.CellEditTemplate>
                    <DataTemplate>
                        <TextBox MaxLength="{Binding MyMaxLength, Source={StaticResource MyViewModel}}" />
                    </DataTemplate>
                </telerik:GridViewDataColumn.CellEditTemplate>
            </telerik:GridViewDataColumn>
        </telerik:RadGridView.Columns>
    </telerik:RadGridView>
    

    或者,如果您不使用视图模型并且需要绑定到 UserControl 的属性,则在 TextBox 绑定上使用 ElementName 而不是 Source。 (虽然你不能真正使用 ElementName 除非你也加入这样的东西:ElementName binding inside of a cell template。)

    【讨论】:

    • 不是由控制记录,它是我自己的自定义对象。它包含诸如记录长度、描述、fieldname1、fieldname2 等内容。我通过将它指向数据库中的某些内容来绑定我的 GridViews itemssource。我需要以编程方式设置每个单独的列 maxLength,因此模板不起作用。基本上,控制记录在数据库中保存列 maxLength,然后我想将 gridview 上的列设置为其 maxLength。
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2012-02-20
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多