将部门数据(参照U8 Department表结构)绑定到TreeView


DataSet objDataSet = new DataSet();
public RFrmDepartment()
{
    InitializeComponent();
}

private void RFrmDepartment_Load(object sender, EventArgs e)
{
    string sqlCmd = "Select * from Department order by DepGrade";
    DataTable dt= DbHelperSQL.GetDataTable(sqlCmd);
    dt.TableName = "Department";
    objDataSet.Tables.Add(dt);
    TreeNode rootNode = new TreeNode("某公司部门管理");
    treeView1.Nodes.Add(rootNode);
    BindTreeNodeData(rootNode,"",0,"1");
}

/// <summary>
       /// 将数据绑定到treeView控件上
       /// </summary>
       /// <param name="ParentNode">父节点</param>
       /// <param name="pid">父Id(指DepId)</param>
       /// <param name="Plen">父id(指DepId)长度</param>
       /// <param name="level">级别</param>

private void BindTreeNodeData(TreeNode ParentNode,string pid,int Plen,string level)
{     //如果为第一级别直接添加到父节点
        if (level=="1")
    {
        DataRow[] rows = objDataSet.Tables["Department"].Select("DepGrade=" + level);
        if (rows.Length != 0)
        {
            foreach (DataRow dr in rows)
            {
                string parentId = dr["DepId"].ToString().Trim();
                int len = parentId.Length;
                TreeNode node = new TreeNode();
                node.Text = dr["DepName"].ToString();
                ParentNode.Nodes.Add(node);
                string levels = (int.Parse(dr["DepGrade"].ToString()) + 1).ToString();
                BindTreeNodeData(node, parentId, len, levels);
            }
        }
        else return;
    }
    else  //如果为非第一级别,则从第一位开始,长度为“父DepId”截取“DepId” 判断是否相等。
    {
        DataRow[] rows = objDataSet.Tables["Department"].Select("DepGrade=" + level);
        if (rows.Length != 0)
        {
            foreach (DataRow dr in rows)
            {
                string depId = dr["DepId"].ToString().Substring(0, Plen);
                if (depId == pid)
                {
                    TreeNode node = new TreeNode();
                    node.Text = dr["DepName"].ToString();
                    string parentId = dr["DepId"].ToString().Trim();
                    int len = parentId.Length;
                    ParentNode.Nodes.Add(node);
                    string levels = (int.Parse(dr["DepGrade"].ToString()) + 1).ToString();
                    BindTreeNodeData(node, parentId, len, levels);
                }

}
        }
        else return;
    }
}

说明:本人技术水平不好,此篇专供大家指正。请大家提供更好的方法。谢谢。

时间: 2024-12-27 00:12:30

将部门数据(参照U8 Department表结构)绑定到TreeView的相关文章

用友u8数据库表结构

用友数据库表名参照表1 Accessaries 成套件表2 AccInformation 帐套参数表3 AdjustPVouch4 AdjustPVouchs5 Ap_AlarmSet 单位报警分类设置表6 Ap_BillAge 帐龄区间表7 Ap_Cancel 核销情况表8 Ap_CancelNo 生成自动序号9 Ap_CloseBill 收付款结算表10 Ap_CtrlCode 控制科目设置表11 Ap_Detail 应收/付明细帐12 Ap_DigSet13 AP_DispSet 查询显示

Entity Framework(三):使用特性(数据注解)创建表结构

一.理解Code First及其约定和配置 传统设计应用的方式都是由下而上的,即我们习惯优先考虑数据库,然后使用这个以数据为中心的方法在数据之上构建应用程序.这种方法非常适合于数据密集的应用或者数据库很可能包含多个应用使用的业务逻辑的应用.对于这种应用,如果要使用EF的话,我们必须使用Database First方式. 设计应用的另一种方法就是以领域为中心的方式(领域驱动设计DDD).DDD是一种由上而下的方式,我们通过从实现应用所需要的领域模型和实体的角度思考,从而开始设计应用.数据库很少用来

plsql 里面的数据备份,erp表结构参考url

grant read,write on directory data_dir to dbuser; grant exp_full_database,imp_full_database to dbuser; 参考自: https://blog.csdn.net/mr_awei/article/details/81089259 ERP R12参考表结构 https://www.cnblogs.com/lfx0692/articles/2395574.html https://www.cnblogs.

JFinal里得到表结构的方法总结

JFinal里得到表结构的方法总结: 1.得到已经配置的Model类的表结构.(推荐用法).如下,定义一个User的Model类,这样就可以得到Model类的表结构了.具体实现不明白,请高手指导. public void tableMappingTest(){  Table table = TableMapping.me().getTable(User.me.getClass());    renderText(table.getColumnTypeMap().toString());   }

U8API——向U8数据库表导入数据

一.打开API资源管理器 替换两个引用 打开应用实例,选择相应的功能 复制相应的封装类到自己的目录下 在数据库新建临时表,与目标表相同 数据导入: 思路:先将要导入的数据导入到与U8目标表相同的临时表,再用API从临时表导入到U8目标表 //导入临时表-产成品入库.销售发货 public void ImportU8RdDis() { lb_info.Items.Add(DateTime.Now + " 生成开始....."); lb_state.Text = "当前状态:正在

MySQL数据表的基本操作二:表结构查看、修改与表操作

一.查看数据表结构 1) 查看表基本结构语句 DESCRIBE 语法:DESCRIBE 表名; 示例: mysql> DESCRIBE product; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------

SQL复制表结构或表数据

需求: 软件开发过程中,一般会部署两个数据库:一个测试数据库提供给开发和测试过程使用:一个运维数据库提供上线使用.当需求变化需增加表时,会遇到数据库表结构或表数据同步的问题,这时就要复制表结构或表数据. 两种情形: 一.两个数据库部署在同一服务器上: 从数据库A复制到B: 复制表结构和数据:select * into  数据库B.dbo.Department from 数据库A.dbo.Department 只复制表结构:  select * into  数据库B.dbo.Department

深度剖析Zabbix Web scenarios数据表结构

深度剖析Zabbix Web scenarios数据表结构 前言 因开发需求,需要解析Zabbix web监控数据表结构:因为网上关于Zabbix数据表结构解析的比较少,所以心血来潮写了一篇作为记录. 突破口 对Zabbix数据库表结构做解析的时候,我有个习惯,直接针对某个itemid怼. 这次当然不例外,随便找了个Zabbix web itemid. 直接查数据库里有哪些表 show tables like "%http%"; +---------------------------

【SQL 代码】SQL复制数据表及表结构

select * into 目标表名 from 源表名 insert into 目标表名(fld1, fld2) select fld1, 5 from 源表名 以上两句都是将'源表'的数据插入到'目标表',但两句又有区别的: 第一句(select into from)要求目标表不存在,因为在插入时会自动创建. 第二句(insert into select from)要求目标表存在,由于目标表已经存在,所以我们除了插入源表的字段外,还可以插入常量,如例中的:5. 示例 目前有数据如下: 现在要将