2017-08-31 74 views
0

Infragisticsカラムのソートに問題があります。Infragisticsカラムのソートタイプを変更します。

私は数値(long型)の列を持っていますが、列のデータ型は文字列です。

これで、無効な文字列でソートされます。 カラムのデータ型をtypeof(long)に変更すると、ソートが停止します。

数値のソートタイプを変更するにはどうすればよいですか?

更新日:

myCell.Column.DataType = typeof(string); 

を私はそれがデータソースにバインド列である場合は、列のデータ型プロパティを変更することはできませんInfragistics4.Win.v12.2

+0

これは奇妙です。列のデータ型をいつどのように変更するかを表示できますか? Infragistics Ultragridのどのバージョンを使用していますか? – Steve

+0

@Steve私の投稿を更新しました。 – Cieja

+0

この列はバインドされた列ですか? – Steve

答えて

0

を使用しています。代わりに、長い列のString列を変換できるようにする式初期化子を使用して、データソースに新しい列を作成できます。その後、グリッドで文字列を非表示にして、式で作成された列のみを表示させることができます。

は、あなたがコピー文字列の列の内容は、(私はすべての単一の行が転換であると仮定していること

DataTable dt = new DataTable(); 
sqlAdapter.Fill(dt); 

は今、あなたは、式を使用してlong型の新しい列を追加することができ、このようにロードされたDataTableを持っていると仮定しますグリッドのInitializeLayoutイベントハンドラ内で最後に

dt.Columns.Add("NewLongCol", typeof(long), "StringCol"); 
yourGrid.DataSource = dt; 

)longに文字列を非表示にし、その場所に長い列を配置

private void yourGrid_InitializeLayout(object sender, InitializeLayoutEventArgs e) 
{ 
    UltraGridBand b = e.Layout.Bands[0]; 
    int pos = b.Columns["StringCol"].Header.VisiblePosition; 
    b.Columns["StringCol"].Hidden = true; 
    b.Columns["NewLongCol"].Header.VisiblePosition = pos; 
} 
関連する問題