2012-01-30 17 views
1

私は銀色のためにtelerik gridviewを使用しています。そして、gridviewにデータが移入された後、それぞれの列に最大文字長をプログラムで設定しようとしています。 ユーザーが列のセルを挿入または編集しているときに、最大(char)長はコントロールレコードの最大長に基づいて設定されます。これまでのところ、私はMaxWidthを設定することしかできませんでしたが、列ヘッダーが常に許容されるテキストよりも長く、MaxWidthが列幅をピクセルで設定し、最大文字長を編集しないためです。誰かが私を正しい方向に向けることができますか?必要に応じていくつかのコードを提供することができます。Silverlight Telerik GridView MaxLength?

Iveは カラムに設定しようとしました.CellEditTemplate.SetValue(TextBoxEditor.MaxLengthProperty、MYMAXLENGTH);

しかし、それは私にエラーを与えます。

答えて

0

どうやって?制御レコード、その独自のカスタムオブジェクトによって

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

+0

これは機能しました。私はそのスレッドをおそらく10回読みましたが、Silvelright、wpf、およびtelerikに新しいImとして、私はEditorStyleの意味を理解できませんでした。ありがとう。 – SchaF

0

私はあなたのグリッドのデータコンテキストがどこか「制御レコード」がどこか分かりませんが、おそらくこのようなものが役に立ちますか?

<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> 

または、ビュー・モデルを使用していない場合は、その後、結合テキストボックスに代わりにソースのElementNameを使用し、ユーザーコントロールのプロパティにバインドする必要があります。 (実際にElementNameを使用することはできませんが、次のようなものも組み込んでください:ElementName binding inside of a cell template

+0

はありません。レコードの長さ、説明、fieldname1、fieldname2などを保持しています。私はGridViewsのitemsSourceをDBから何かを指すことでバインドします。私は個々の列maxLengthをプログラムで設定する必要があるので、テンプレートは機能しません。基本的には、コントロールレコードはデータベースの列maxLengthを保持していて、その列をそのmaxLengthに設定する必要があります。 – SchaF

関連する問題