在选择期间更改一列的值 - Linq to Sql

时间:2012-11-06 09:41:46

标签: c# linq-to-sql

我是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。

2 个答案:

答案 0 :(得分: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),
                       };

上述方法的问题在于您丢失了对象类型和权重,并且Grid中的值是字符串类型,因此如果您尝试获取这些值并执行某些操作,则可能会导致问题。

答案 1 :(得分:0)

使用tostring和G

等格式说明符

MSDN

我想我在这里有一个SO参考somewhere