2

私はLinqが初めてです。次のクエリがあります。

var BeachDetail = (from Personal in dc.t_return_to_beaches
                   where Personal.emo_number == EmoNumber
                   select Personal).ToList();

 Grd_ReturnToBeach.ItemsSource = CurrentController.GetItemSource(BeachDetail)

ここでは、DevExpress Grid を使用してバインドしています。

<dxg:GridControl x:Name="Grd_ReturnToBeach" MinHeight="70">
</dxg:GridControl>

16 を超える列を取得します。

それは私にとってはうまくいきますが、名前の付いた2つの列があります

  weight (numeric(15, 4))

   value (numeric(15, 4))

問題 :

これらの列に 12 と 13.45 を入力すると、12.0000 と 13.4500 が得られます。しかし、12 と 13.45 のように、以前に入力した正確な値をグリッドに表示したいと考えています。

4

2 に答える 2

1

要件に応じてグリッドをフォーマットする必要があります。ただし、グリッドでフォーマットされた結果を取得する場合は、selectステートメントで匿名タイプを作成し、すべての列とフォーマットする列を指定してから、匿名タイプのリストをグリッドにバインドする必要があると思います。

次のようなものかもしれません:

var BeachDetail =  from Personal in dc.t_return_to_beaches
                   where Personal.emo_number == EmoNumber
                   select new 
                       {
                         Col1 = personal.Col1,
                         Col2 = personal.Col2,
                         Col3 = personal.Col3,                         
                         ....................
                         ....................
                         weight = String.Format("{0:0.00}", personal.Weight),
                         value = String.Format("{0:0.00}", personal.Value),
                       };

上記のアプローチの問題は、オブジェクトのタイプと重みが失われ、値がグリッド内の文字列型であるため、これらの値を取り戻していくつかの操作を実行しようとすると、問題が発生する可能性があります。

于 2012-11-06T09:48:24.483 に答える
0

tostring と G のようなフォーマット指定子を使用する

MSDN

ここのどこかに SO ref があると思います

于 2012-11-06T09:48:09.400 に答える