原创

GridView抑制重复行显示

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://david.blog.csdn.net/article/details/5624941

很多时候一对多的关系中 只需要显示第一行

最近就遇到这样的情况

客户订单 客户订单行 有可能是分批出货。欠交数量是个总数

 

客户订单  行     数量  出货数量 出货日期            欠交数量

 A          001   500       100   2010=05-01    100

 A          001   500       200   2010=05-02    100

 A          001   500       100   2010=05-03    100

----------------------------------------------------------------

 A          001   500       100   2010=05-01    100

 A          001                200   2010=05-02   

 A          001                100   2010=05-03    

 

 

如果在水晶报表中很容易实现,但如果在GRID中呢

 

其实很简单

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");// 鼠 停留 更改背景色
            e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");// 鼠 移   原背景色
        }
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
            {


                currdoc = e.Row.Cells[1].Text.Trim ();
                currline = e.Row.Cells[2].Text.Trim ();

                if (currdoc == lastdoc && currline == lastline)
                {

                    e.Row.Cells[13].Text = "0";
                    e.Row.Cells[14].Text = "0";
                }
                string strprice = e.Row.Cells[13].Text;//取出来的单元格的文本带有RMB字符串,如:<font color=red>RMB</font>50.47
                double price = double.Parse(strprice);
                if (price > 0)
                {
                    e.Row.Cells[13].Text = "<font color=red>" + e.Row.Cells[13].Text + "</font>";
                    e.Row.Cells[14].Text = "<font color=red>" + e.Row.Cells[14].Text + "</font>";
                    // e.Row.BackColor = System.Drawing.Color.Yellow;//使用预设颜色来设置行的背景色
                    //e.Row.ForeColor = System.Drawing.Color.FromName("#ff0000");//使用十六进制的颜色,设置前景色
                }
                else
               {
                    e.Row.Cells[13].Text = "";
                   e.Row.Cells[14].Text = "";
               }

            }
            lastdoc = currdoc;
            lastline = currline;
        }

    }

 

 

文章最后发布于: 2010-05-26 11:50:00
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 鲸 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览