<wijmo:C1Tabs ID="C1Tab1" runat="server" ><%--OnSelectedChanged="" AutoPostBack="true" --%>
                           
        <Pages><wijmo:C1TabPage id="C1TabPage0" runat="server" ><wijmo:C1TreeView id="tabstree0" AllowTriState="false" runat="server"></wijmo:C1TreeView></wijmo:C1TabPage>
</Pages>
            </wijmo:C1Tabs>

        string str= "SELECT [a],[b] FROM  [表名] ";
        DataTable dtOil = DbHelper.DAL.ExecuteDataSet(str).Tables[0];
        tree1(dtOil, "");
     public void tree1(DataTable dtOil, string name)
        {
            string role = "select u.DisplayName from (select ur.UserID from (select RoleID from roles where RoleName='厂家' ) as r left join userroles ur on r.RoleID=ur.RoleID) as us left join users u on u.UserID=us.UserID where u.DisplayName like '%" + name + "%'";
            DataTable dtrole = DbHelper.DAL.DataTable(role);
            C1Tab1.Pages.Clear();
            for (int i = 0; i < dtrole.Rows.Count; i++)
            {
//tab绑定
                C1.Web.Wijmo.Controls.C1Tabs.C1TabPage ctab = new C1.Web.Wijmo.Controls.C1Tabs.C1TabPage();
                ctab.ID = "C1TabPage" + i + "";
                ctab.Text = dtrole.Rows[i][0].ToString();
                C1TreeView c1 = new C1TreeView();
                c1.ID = "tabstree" + i.ToString();                 ctab.Controls.Add(c1);
                C1Tab1.Pages.Add(ctab);
            }
            for (int i = 0; i < dtrole.Rows.Count; i++)
            {
数据绑定
                if (i == 0)
                {
                    treeValues = "";
                }
                else
                {
                    treeValues += "&";
                }
                C1TreeView c1 = (C1TreeView)C1Tab1.Pages[i].Controls[0];
                c1.ShowCheckBoxes = true;
                c1.ShowExpandCollapse = true;
                string strchangjia = "SELECT * from (SELECT [a],[b] FROM  [表名] where [treeType] = '1' and 品牌  like '%[0-9]%' group by [a],[b]) as jiu where jiu.alike '%" + dtrole.Rows[i][0].ToString().Replace(" ", "") + "%'";
                DataTable dchangjia = GJPDbHelper.DAL.DataTable(strchangjia);
                BindTreeOil2(dchangjia, c1);
                count++;
            }
        }
private C1TreeView BindTreeOil2(DataTable dtSource, C1TreeView c)
        {             c.Nodes.Clear();             string topNodeStr = "";
            string twoNodeStr = "";
            C1TreeViewNode curNode = new C1TreeViewNode(); ;
            //DataRow[] rows = dtSource.Select(string.Format("ParentID={0}", parentID));
            foreach (System.Data.DataRow c1row in dtSource.Rows)
            {
                if (topNodeStr != Convert.ToString(c1row[0]))
                {
                    C1TreeViewNode newNode = new C1TreeViewNode();
                    newNode.Value = Convert.ToString(c1row[0]);
                    newNode.Text = Convert.ToString(c1row[0]);                     c.Nodes.Add(newNode);
                    
                    topNodeStr = Convert.ToString(c1row[0]);
                    curNode = newNode;
                }
                else
                {
                    C1TreeViewNode newNode = new C1TreeViewNode();
                    newNode.Value = Convert.ToString(c1row[1]);
                    newNode.Text = Convert.ToString(c1row[1]);
                    //string str = "select 产品 from [AIRB_MMTREE] where [类型] ='" + c1row[1].ToString() + "'";
                    //DataTable dt = GJPDbHelper.DAL.DataTable(str);
                    //for (int i = 0; i < dt.Rows.Count; i++)
                    //{
                    //    C1TreeViewNode newNode1 = new C1TreeViewNode();
                    //    newNode1.Value = Convert.ToString(dt.Rows[i][0]);
                    //    newNode1.Text = Convert.ToString(dt.Rows[i][0]);
                    //    newNode.Nodes.Add(newNode1);
                    //}
                        //if (twoNodeStr != Convert.ToString(c1row[1]))
                        //{
                        //    C1TreeViewNode newNode1 = new C1TreeViewNode();
                        //    newNode1.Value = Convert.ToString(c1row[1]);
                        //    newNode1.Text = Convert.ToString(c1row[1]);
                        //    newNode.Nodes.Add(newNode1);
                        //    twoNodeStr = Convert.ToString(c1row[1]);
                        //    newNode = newNode1;
                        //}
                        //else
                        //{
                        //    C1TreeViewNode newNode1 = new C1TreeViewNode();
                        //    newNode1.Value = Convert.ToString(c1row[2]);
                        //    newNode1.Text = Convert.ToString(c1row[2]);
                        //    newNode.Nodes.Add(newNode1);
                        //}                         curNode.Nodes.Add(newNode);                 }
            }
            return c;
        }

c# 后台绑定treeview 多个tab的更多相关文章

  1. c# 后台绑定treeview 单个tab

    <wijmo:C1TreeView ID="C1TreeView1" runat="server" ShowCheckBoxes="true&q ...

  2. TreeView控件之,后台构建TreeView(WinForm小程序)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAIdCAIAAABeBzrBAAAgAElEQVR4nOzdd5Qc130n+tl/nr3e5+

  3. GridView后台绑定数据列表方法

    在很多时候数据绑定都是知道了数据表中的表字段来绑定GridView控件的,那时候我就有个想法希望通过表明来查询数据库中的字段来动态的绑定GirdView控件数据并提供了相关的操作列,在网上找了一些资料 ...

  4. ASP.NET MVC搭建项目后台UI框架—4、tab多页签支持

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  5. WPF DATAGrid 空白列 后台绑定列 处理

    原文:WPF DATAGrid 空白列 后台绑定列 处理 AutoGenerateColumns <DataGrid x:Name="dataGrid" Margin=&qu ...

  6. HighChat动态绑定数据 数据后台绑定(四)

    后台绑定数据,直接返回json数据 IList<SummaryHour> adHourData = summarybll.FindList(str); List<, , , , , ...

  7. HighChat动态绑定数据 数据后台绑定(三)

    今天看了几位大佬的博客,学到了一些,现在分享一下,也作为以后的参考 不多说看代码 1.后台代码 public ActionResult Ajax2() { ReportData reportData ...

  8. 《转》---使用递归方法DataTable 绑定 TreeView

    转自:http://blog.sina.com.cn/s/blog_8944756d01016yaj.html 前台: <asp:View ID="view0" runat= ...

  9. HTTP模拟工具【C#/Winform源码】、Json绑定TreeView控件、使用了MetroModernUI、RestSharp、Dapper.Net、Newtonsoft.Json、SmartThreadPool这几个主要开源框架

    HTTP模拟工具 开发语言:C#/Winform开发工具:Visual Studio 2017数据库:   SQLite使用框架:界面-MetroModernUI              Http请 ...

随机推荐

  1. JDK 自带压缩解压流

    代码如下 package com.test.java.zip; import java.io.BufferedInputStream; import java.io.BufferedOutputStr ...

  2. 认识IQueryable和IQueryProvider接口

    1.Func<Student, bool>和Expression<Func<Student, bool>>的区别 class Program { static vo ...

  3. ThreadLocal详解,ThreadLocal源码分析,ThreadLocal图解

    本文脉路: 概念阐释 ---->  原理图解  ------> 源码分析 ------>  思路整理  ----> 其他补充. 一.概念阐述. ThreadLocal 是一个为 ...

  4. 聊聊Docker数据卷和数据卷容器

    当程序在容器运行的时候,特别是需要与其他容器中的程序或容器外部程序进行沟通交流,这时需要进行数据交换,作为常用的两种沟通数据的方式,网络通信与文件读写是需要提供给程序的支持, [数据卷] 文件是数据持 ...

  5. Nginx报502错误,PHP最大执行时间设置

    PHP执行时间太长导致的 我在程序的最上方写了set_time_limit(0);不管用 因为max_execution_time在 php-cgi(php-fpm) 中,该参数不会起效. 真正能够控 ...

  6. js获取元素提示信息

    js获取元素提示信息 var date=$("#date").attr('placeholder'); js修改元素的提示信息 $("#date").attr( ...

  7. 启动 ServiceFabric Windows服务报1053

    Remote Procedure Call (RPC) Locator和 Windows Firewall是否启动. 以管理员身份运行PowerShell,输入Unregister-Scheduled ...

  8. 048 SparkSQL自定义UDAF函数

    一:程序 1.需求 实现一个求平均值的UDAF. 这里保留Double格式化,在完成求平均值后与系统的AVG进行对比,观察正确性. 2.SparkSQLUDFDemo程序 package com.sc ...

  9. 基于C语言的Socket网络编程搭建简易的Web服务器(socket实现的内部原理)

    首先编写我们服务器上需要的c文件WebServer.c 涉及到的函数API: int copy(FILE *read_f, FILE * write_f) ----- 文件内容复制的方法 int Do ...

  10. 使用EndNote在Word中插入参考文献

    以百度文库为例,首先找到我们要插入的参考文献,比如 搜索关键词,然后下需要的论文下面点击引用 得到 点击下面导出链接的EndNote,会下载一个.enw文件 找到此文件并双击打开后即已经导入到EndN ...