datagirdview数据绑定问题
各位大虾,现在遇到这么一个问题,希望大家能给出意见
数据库:
用户表:   行号   用户代码  用户名称                    权限表:    行号    用户行号   权限  
             1      abc    王                                       1       1       e
            2      cba    刘                                      2        1      f
                                                             3        1      g
                                                             4        2      h
                                                             5        2      i         
                                                             6        2      k
datagirdview数据列:     用户代码   用户名称   用户权限
现在是如何将值表示为:       abc       王        e|f|g
                          cba       刘        h|i|k
希望各位能够帮忙给点建议,谢谢!
------解决方案-------------------- 呵呵,给你一个我曾经写过的例子:
  protected void GridView_Product_RowDataBound(object sender, GridViewRowEventArgs e)
   {
       //check right
       ImageButton img = new ImageButton();
       if (e.Row.FindControl("ImageButton1") != null)
       {
           img = (ImageButton)e.Row.FindControl("ImageButton1");
           if (HasRight(_menuId_Delete))
           {
               img.Visible = true;
           }
           else
           {
               img.Visible = false;
           }
       }
       string temp = "";
       string InActive = "";
       string description = "";
       if (e.Row.RowType == DataControlRowType.DataRow)
       {
           temp = e.Row.Cells[6].Text;
           if (temp != null && temp != " " && temp != "")
           {
               InActive = Status.GetbyStatusID(temp);
               description = Status.GetDescByStatusID(temp);
               if (description == "")
               {
                   description = "NULL";
               }
               e.Row.Cells[6].Text = InActive + "/" + description;
           }
           else
           {
               e.Row.Cells[6].Text = "N/A";
           }
           e.Row.Cells[3].Text = EthCategory.Range.GetbyRangeID(e.Row.Cells[3].Text);
           e.Row.Cells[2].Text = EthCategory.ProductType.GetbyProductID(e.Row.Cells[2].Text);
       }
   }
------解决方案--------------------
用select A.用户代码, A.用户名称, B.权限 from 用户表 A left join 权限表 B on A.行号=B.行号 order by A.用户代码
从数据库中取出一个dataTable1,这个dataTable1中用户代码和用户名称有重复的,但权限没有重复,
然后再申明一个dataTable2 = new DataTable();
for(int i = 0; i < dataTable1.Rows.Count; i++)
{
  dataTable2.Rows.Add(dataTable1.Rows[i]);
  for(int j = i+1; j < dataTable1.Rows.Count; j++)
  {
     if(dataTable1.Rows[j][0].ToString() == dataTable1.Rows[i][0].ToString())
     {
        dataTable2.Rows[dataTable2.Rows.Count-1]["权限"] = dataTable2.Rows[dataTable2.Rows.Count-1]["权限"].ToString() + "|" + dataTable1.Rows[j]["权限"].ToString();
     }
     else
     {
        i = j - 1;
        break;
     }
  }
}
这样用户代码相同的行就合并掉了,产生一个dataTable2;
把这个dataTable2绑定到DataGridView上去
------解决方案--------------------C# code
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Microsoft.ApplicationBlocks.Data;
using UDMS200S