首页新闻找找看学习计划

如何在gridview中特别显示被修改的数据

0
悬赏园豆:10 [已解决问题] 解决于 2013-10-16 20:36

数据库有两个表,一个表有所有的数据,另一个表则是把前一个表中修改后的数据插入其中用的。(例如我在第一个表中修改了小米的数据,那么修改后的数据就是在第二个表中,而第一个数据还是原来的数据),现在我有一个问题。我希望在gridview载入第二个表的内容时,能特别显示(以红色字体或者与原字体不同的字体)被改动的数据,这个应该这么做。(例如我改动了小米的身份证后,那么我用gridview显示第二个表时,小米的身份证就是以红色显示。)

回望未来的主页 回望未来 | 初学一级 | 园豆:4
提问于:2013-10-06 10:08
< >
分享
最佳答案
0

你提问的问题包括两个部份的事情:

1、如何判断数据是否被修改过,这个逻辑你应该实现了吧,也就是说,你要么在修改的时候,就有一个字段表示此行数据被修改过,要么你每次都得重新进行判断,建议以空间换时间。多一个字段,如UpdateTime之类的,修改过后只需要判断这个字段就可以知道是否修改过。

2、当知道一行数据是与其他行不同时,如何特别显示,如果使用第三方控件如DevExpress的GridControl,这个可以在RowStyle事件中进行着色。如果使用微软自带的GridView的话,可以参考如下代码(搜索来的,我不用微软自带控件)

ridView指定行颜色

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
       try
       {
           if (e.Row.RowType == DataControlRowType.DataRow)
          {
              string MyCity = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "城市"));
               if (MyCity == this.TextBox1.Text)
               {
                   e.Row.BackColor = System.Drawing.Color.Yellow;
               }
            }
     }
     catch (Exception MyEx)
       {
            Response.Write(MyEx.Message);
       }
   }
收获园豆:10
爱编程的大叔 | 高人七级 |园豆:30089 | 2013-10-08 16:09
其他回答(2)
0

在载入第二个表中的数据的时候,把数据和第一张表的数据进行比较,数据变化了的就设置要要显示这个数据的单元格的的字体为红色

一花一四季,一梦一世界 | 园豆:232 (菜鸟二级) | 2013-10-06 19:06
0

数据库问题啊,好像和GridView无关啊。查出来后多一个字段标示就行;如果纯粹是客户端,用ViewState和IsPostBack就可以实现所有功能。

沧海一杰 | 园豆:48 (初学一级) | 2013-10-07 17:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册