C# 更改一列';在select-Linq转换为Sql期间
我是新来的。 我有以下疑问:C# 更改一列';在select-Linq转换为Sql期间,c#,linq-to-sql,C#,Linq To Sql,我是新来的。 我有以下疑问: var BeachDetail = (from Personal in dc.t_return_to_beaches where Personal.emo_number == EmoNumber select Personal).ToList(); Grd_ReturnToBeach.ItemsSource = CurrentController.GetItemSource(BeachD
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网格进行绑定
<dxg:GridControl x:Name="Grd_ReturnToBeach" MinHeight="70">
</dxg:GridControl>
及
问题:
如果我在这些列中输入12和13.45,那么我得到12.0000和13.4500。但我想在网格中显示我之前输入的精确值,如12和13.45 使用tostring和类似于G的格式说明符
我想我这里有一个SO ref你应该根据你的要求格式化你的网格。但是,如果您希望在网格中获得格式化的结果,那么我认为您必须在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),
};
上述方法的问题是,您失去了对象类型和权重,并且网格中的值是string类型的,因此,如果您尝试获取这些值并执行一些操作,则可能会导致问题 这不是linq问题,而是格式化网格。您使用的是哪种网格?听起来您只需要为所有网格指定一种显示格式。您能提供您正在使用的平台和/或控件的详细信息吗?@AmiramKorach请立即检查更新。我已经尝试过此解决方案,它对我有效,但我希望此输出不使用新列表。@Sunny,那么您应该找到格式化网格的方法,你可以在devexpress论坛上问这个问题。是的,我在问。谢谢你的支持。
value (numeric(15, 4))
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),
};