在LINQ中的值上应用子字符串

时间:2011-09-19 06:27:21

标签: c# asp.net visual-studio linq linq-to-sql

我使用LINQ绑定下拉值,如下所示

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

然后使用LINQtoDataTable函数将代码转换为datatable。

dtTemp = LINQToDataTable(varResult);

然后将下拉列表绑定,如下所示;

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

现在,其中一个列的下拉列表绑定的值(Employee Joining date)格式为08/09/2011~Y,因为它直接从数据库绑定。我希望在日期应用子字符串,使其格式为08/09/2011。如何在LINQ查询中应用子字符串?

2 个答案:

答案 0 :(得分:0)

将LINQ查询中的匿名类型中的TEXT字段用作string并在查询期间格式化值:

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(); 

有点像这样。您还可以提供更有意义的日期表示格式,例如:2011年8月9日等。

答案 1 :(得分:0)

此链接将有助于执行字符串操作....使用linq查询...

http://msdn.microsoft.com/en-us/vbasic/bb737939#strsubst