【问题标题】:Gridview - Manipulating a data item in TemplateFieldGridview - 在 TemplateField 中操作数据项
【发布时间】:2011-05-24 13:27:29
【问题描述】:

我正在使用模板字段在网格视图的单列中显示四个数据字段。数据字段之一是日期字段。我不想显示正常日期,而是想显示相对小时/天。 (例如:2 小时前/2 天前)。如何操作模板字段列中的日期字段。请提出建议。

谢谢。

【问题讨论】:

    标签: c# asp.net gridview templatefield


    【解决方案1】:

    您可以使用 来操作在运行时绑定到列的数据。您甚至可以通过执行以下操作在代码隐藏中调用函数:

    <%# this.MyFunction(Eval("Date Field Name")) %>
    

    可能有更好的方法来做到这一点,但这在过去对我有用。请注意,Eval 返回一个object

    【讨论】:

      【解决方案2】:

      如果其他视图/页面将使用该格式,您可能需要考虑将其放入业务服务层或某些实用程序函数中,以免在 UI 中隐藏/重复。

      // Business Service
      public IList<Person> GetAllActivePeople()
      {
       var people = _yourDataRepository.FindActive();
       foreach(var p in people)
       {
        p.MyRelativeDateField = ConvertToRelativeHoursDays(p.MyDateField);
       }
       return people;
      }
      
      // probably better as a utility class if other dates of other objects can use this...
      private string ConvertToRelativeHoursDays(DateTime someDate)
      {
          // implement formatting here
      }
      

      【讨论】:

      • 我只需要一次性完成。所以不要实现上面的东西。不过感谢您的建议。
      猜你喜欢
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2011-06-24
      相关资源
      最近更新 更多