如何去掉下图中得分单位里的重复项,变为这个样子的,先谢谢了

解决方案 »

  1.   

    在数据查询的时候搞的啊  SQL语句去掉重复项   去看看
      

  2.   

    你在去数据的时候就去重复
    http://www.cnblogs.com/arp_net/archive/2010/09/03/1816836.html
    关键字:distinct 
      

  3.   

    一般来说都是在数据库中就去掉重复项 select distinct * from [tableName]
      

  4.   

    看来楼上都讲完了~反正思路就是别等到取得时候想到去重~哪个地方去重方便就哪里去重~一般gridview只负责显示了,如果你要完成写逻辑最好在取数据就给完成~
      

  5.   

    写sql的时候在 select 后面加上distinct 
      

  6.   

    用sql比如说 
    select distinct(name),age,score from student
      

  7.   

    不需要SQL处理,我记得gridview有这个功能。
      

  8.   


    晕,不怕麻烦啊,那么多没用的数据提出来干嘛,而且提出来之后还是要去掉
    在sql里写多舒服呢
      

  9.   

    sql查询语句中完成,能够优化性能,也易于维护。
      

  10.   

    用sql。
    Google查sql  行转列
      

  11.   

    呵呵,LZ好像发了两个这样的帖子。这东西还是在数据库中处理比较好。有点时间,我就写了一个。可能不是很好,但是能实现功能。
    private DataTable dt;
            protected void Page_Load(object sender, EventArgs e)
            {
                dt = new DataTable();
                DataColumn dc1 = new DataColumn("列1", typeof(string));
                DataColumn dc2 = new DataColumn("列2", typeof(int));
                DataColumn dc3 = new DataColumn("列3", typeof(int));
                dt.Columns.Add(dc1);
                dt.Columns.Add(dc2);
                dt.Columns.Add(dc3);
                dt.Rows.Add("三分厂", 44, null);
                dt.Rows.Add("二分厂", 60, null);
                dt.Rows.Add("三分厂", null, 80);
                dt.Rows.Add("二分厂", null, 90);
                dt.Rows.Add("一分厂", null, 80);
                dt.Rows.Add("二分厂", null, 90);
                dt.Rows.Add("一分厂", 20, 30);
                dt.Rows.Add("一分厂", 20, null);
                dt.Rows.Add("四分厂", 120, null);
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }        /// <summary>
            /// 处理
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void Button1_Click(object sender, EventArgs e)
            {
                DataTable newDt = dt.Clone();
                List<string> nameList = new List<string>();
                foreach (DataRow row in dt.Rows)
                {
                    if (!nameList.Contains(row[0].ToString()))
                    {
                        nameList.Add(row[0].ToString());
                        DataRow newRow = newDt.NewRow();
                        newRow["列1"] = row[0].ToString();
                        newRow["列2"] = 0;
                        newRow["列3"] = 0;
                        newDt.Rows.Add(newRow);
                    }
                }            foreach (DataRow newRow in newDt.Rows)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        if (row["列1"].ToString() == newRow["列1"].ToString())
                        {
                            if (row["列2"] == DBNull.Value)
                                row["列2"] = 0;
                            if (row["列3"] == DBNull.Value)
                                row["列3"] = 0;
                            newRow["列2"] = Convert.ToInt32(newRow["列2"]) + Convert.ToInt32(row["列2"]);
                            newRow["列3"] = Convert.ToInt32(newRow["列3"]) + Convert.ToInt32(row["列3"]);
                        }
                    }
                }
                GridView1.DataSource = newDt;
                GridView1.DataBind();
            }
      

  12.   

    用SQL语句,然后绑定到GridView
    select * from
    (
    select rowNum=Row_Number() over(partition by 得分单位 order by 得分单位),得分单位,重型二分厂
               from 表名
    ) tb where tb.rowNum=1
      

  13.   

    不理解的话,可以看这个!http://topic.csdn.net/u/20110325/13/3fefdb87-dd75-44a3-a9d2-e2ee6ea52b33.html
      

  14.   

    去掉重复数据。  一种处理sql,一种处理要和Gridview的集合,,
      

  15.   

    24楼的方法不错,SQL优化一下,性能方面也好
      

  16.   

    查询的时候使用distinct就可以了~  
    select distinct name from [uTable] where....
      

  17.   

    在提取数据时就进行处理下,或在代码中用Dictionary进行判断过滤