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

它对我来说很好,但是有两列名为

  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

Use tostring and a format specifier like G

MSDN

I think I have a SO ref here somewhere

于 2012-11-06T09:48:09.400 回答