2011-09-19 32 views
0

我结合使用LINQ下拉值如下涂于值串中LINQ

var varResult = 
     (from OppData in dtOpp.AsEnumerable() 
      select new 
      { 
      TEXT = OppData.Field<object>(sColName), //column value 
      VALUE = sColName // column Name 
      } 
     ).Distinct(); 

然后代码被转换为数据表使用LINQtoDataTable功能。

dtTemp = LINQToDataTable(varResult); 

然后下拉是绑定的,如下所示;

ddlTemp.DataSource = dtTemp; 
ddlTemp.DataTextField = "TEXT"; 
ddlTemp.DataValueField = "VALUE"; 
ddlTemp.DataBind(); 

现在下拉结合该列中的一个,(员工加入日期)的值是在08/09/2011〜Y格式化,因为它直接从数据库中获取绑定。我希望在日期上应用子字符串,以便它的格式为08/09/2011。如何在LINQ查询上应用子字符串?

+0

感谢评论家伙,但我希望仅适用于一列的更改。这会给员工以外的列添加错误加入日期 –

回答

0

查询过程中,使用您的TEXT领域为string和格式值在LINQ查询您的匿名类型:

var varResult = 
    (from OppData in dtOpp.AsEnumerable() 
     select new 
     { 
     TEXT = OppMilestonedate.Field<object>("EMP_JOIN_DATE") == null ? null : OppMilestonedate.Field<object>("EMP_JOIN_DATE").ToString().Substring(0, 10), 
     VALUE = sColName 
     } 
    ).Where(x => x.TEXT != null).Distinct(); 

Somethign这样。您也可以提供日期表示,恩更有意义的格式为:2011年8月9日,等

+0

我的评论中有任何输入? –

+0

没有得到您的最新评论。据我所知,在下拉列表中只有一列,并从“TEXT”字段和“VALUE”字段的值中获取文本。我想念什么?关于哪些专栏正在讨论? – Samich

+0

我们有多个字段,例如EmpName,EmpAge。该更改只应该对雇员加入日期有效。如何检查? –