要把数据库里原来的时间 (upDateTime)和现在时间相减,求出差值,并绑顶到DataGrid上,不知道如何写?                <asp:TemplateColumn>
                        <ItemTemplate>
                           <%# DataBinder.Eval(Container.DataItem,"upDateTime")%>
                        </ItemTemplate>
                </asp:TemplateColumn>
我的思路是用DataGrid的模板列来绑定数据,但是计算差值的表达式不知道该怎么写出来绑定到DataGrid上?请高手帮我写一个,小弟菜鸟一只,求高人帮忙.

解决方案 »

  1.   

    你先把数据绑定出来计算或者在sql里面计算好都没有问题啊;
    TimeSpan aa = ((DateTime)e.Item.Cells[你绑定的列].Text) - ((DateTime)e.Item.Cells[你绑定的列].Text);
    写在DataItemBound事件里面
      

  2.   

    <asp:TemplateColumn>
                            <ItemTemplate>
                               <%# GetSpanTime(DataBinder.Eval(Container.DataItem,"upDateTime"))%>
                            </ItemTemplate>
                    </asp:TemplateColumn>
    //在后台代码里写
    public string GetSpanTime(string CurrentTime)
    {
       TimeSpan  _CurrentSpanTime=Convert.DateTime(CurrentTime)-DateTime.Now;
       return _CurrentSpanTime.在这里选择你要的间隔,是秒,还是分,还是小时
    }
      

  3.   

    dim restday as Timespan=Convert.DateTime(CurrentTime).substring(DateTime.Now)
      

  4.   

    <asp:TemplateColumn>
                            <ItemTemplate>
                               <%# (DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem,"upDateTime")).Sections%>
                            </ItemTemplate>
                    </asp:TemplateColumn>
      

  5.   

    上面的试了都不好使.lazyfish(呆呆虫)
    <asp:TemplateColumn>
                            <ItemTemplate>
                               <%# (DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem,"upDateTime")).Sections%>
                            </ItemTemplate>
                    </asp:TemplateColumn>提示System.TimeSpan并不包含Sections的定义不要Sections则得到一长串数字,我想求出间隔的天数.该怎么写?(最好用C#的代码)