注册 登录
编程论坛 ASP.NET技术论坛

能否让GRIDVIEW中的行在过一段时间后自动隐藏

cybin 发布于 2008-11-25 20:57, 1098 次点击
如图:
 
只有本站会员才能查看附件,请 登录

下面代码是只要有这个结算时间有输入的值的话,就自动隐藏。
        if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.EmptyDataRow)
        {

            DataRowView drvBasicCountInfor = (DataRowView)e.Row.DataItem;

            if (drvBasicCountInfor[17] != DBNull.Value)
            {

                e.Row.Enabled = false;
            }

        }
现在我想实现是让这个结算时间在我输入值之后,过1天后自动隐藏起来或者让结算时间只输入3次就隐藏(有没有办法实现)?请高手帮忙,谢谢!!!!

[[it] 本帖最后由 cybin 于 2008-11-26 08:17 编辑 [/it]]
5 回复
#2
frankqnj2008-11-26 14:01
可以 通过js实现. 无论如何都避免不了 用js
#3
cybin2008-11-26 14:04
回复 第2楼 frankqnj 的帖子
能给个代码或说明吗?谢谢!!
#4
青格儿2008-11-26 14:28
puttime是你的结算时间
 TimeSpan ts = Convert.ToDateTime(puttime) - DateTime.Now.AddDays(-1);
if(ts.Seconds>0)
{
  // 隐藏某行

试试这样,行不行,我没试
让结算时间只输入3次就隐藏 这个,你在哪写结算时间的?点编辑按钮3次?
#5
cybin2008-11-26 15:15
回复 第4楼 青格儿 的帖子
我是点击编辑按钮来输入数据了。
如何控制按钮的编辑次数呢?

[[it] 本帖最后由 cybin 于 2008-11-26 16:15 编辑 [/it]]
#6
cybin2008-11-26 15:32
回复 第4楼 青格儿 的帖子
我按你的代码写不行,不过我改成下面就可以了。谢谢你的帮忙。
 TimeSpan ts = DateTime.Now.Date - Convert.ToDateTime(drvBasicCountInfor[17]);
                if (ts.Days > 1)
                {
                    e.Row.Enabled = false;
                }

[[it] 本帖最后由 cybin 于 2008-11-26 15:57 编辑 [/it]]
1