日期:2014-05-20  浏览次数:21009 次

Datatable 和 DataGridView 的问题
部门ID 部门名称 部门所属

12 客服部 10

13 综管部 11

14 运维部 13  







这是显示在 DataGridView 上的数据 

我是向服务器发送请求然后得到 xml 文件、我解析xml到 datatable中,然后又显示在 datagridview上的


部门所属:例如 运维部的部门所属ID是13 ,意思就是运维部所属综管部的,综管部的部门ID是13
我想在程序运行的时候就在部门所属13那里显示 综管部 怎么显示,怎么解析


------解决方案--------------------
用treeview控件

------解决方案--------------------
探讨
部门ID 部门名称 部门所属

12 客服部 10

13 综管部 11

14 运维部 13







这是显示在 DataGridView 上的数据

我是向服务器发送请求然后得到 xml……

------解决方案--------------------
通过所属部门编号13,查找"部门ID=13"的部门名称
------解决方案--------------------
LZ,使用TreeView 控件吧,按照LZ所说要求的话
------解决方案--------------------
你应该有个表存放着,每个ID对应的部门名称,例如:

id 名称
1 部门1
2 部门2
……
13 综管部
然后可以通过数据库查询得到id为13的部门名称为:综管部

但是你说你是获取xml,我就不知道sql语句是不是也是你自己写的,如果是你自己写的那就好办法了,你可以通过sql联合查询获取所属部门的名称 select 部门ID,部门名称 from 部门 where 部门ID=13
如果sql语句不是你自己写的,那你就得要求编写XML的人给你返回部门表的XML,然后你在通过ID获取名称

------解决方案--------------------
C# code

private void button1_Click(object sender, EventArgs e)
        {
            DataTable table = new DataTable();
            table.Columns.Add("部门ID");
            table.Columns.Add("部门名称");
            table.Columns.Add("部门所属");
            table.Rows.Add(new object[] { 12,"客服部",10 });
            table.Rows.Add(new object[] { 13, "综管部", 11 });
            table.Rows.Add(new object[] { 14, "运维部", 13 });

            foreach (DataRow drow in table.Rows)
            {
                foreach (DataRow row in table.Rows)
                {
                    if (drow["部门所属"].ToString().Trim() == row["部门ID"].ToString().Trim())
                    {
                        drow["部门所属"] = row["部门名称"].ToString();
                    }
                }
            }
            dataGridView1.DataSource = table;
        }