c# 后台绑定treeview 多个tab
<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的更多相关文章
- c# 后台绑定treeview 单个tab
<wijmo:C1TreeView ID="C1TreeView1" runat="server" ShowCheckBoxes="true&q ...
- TreeView控件之,后台构建TreeView(WinForm小程序)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAIdCAIAAABeBzrBAAAgAElEQVR4nOzdd5Qc130n+tl/nr3e5+
- GridView后台绑定数据列表方法
在很多时候数据绑定都是知道了数据表中的表字段来绑定GridView控件的,那时候我就有个想法希望通过表明来查询数据库中的字段来动态的绑定GirdView控件数据并提供了相关的操作列,在网上找了一些资料 ...
- ASP.NET MVC搭建项目后台UI框架—4、tab多页签支持
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- WPF DATAGrid 空白列 后台绑定列 处理
原文:WPF DATAGrid 空白列 后台绑定列 处理 AutoGenerateColumns <DataGrid x:Name="dataGrid" Margin=&qu ...
- HighChat动态绑定数据 数据后台绑定(四)
后台绑定数据,直接返回json数据 IList<SummaryHour> adHourData = summarybll.FindList(str); List<, , , , , ...
- HighChat动态绑定数据 数据后台绑定(三)
今天看了几位大佬的博客,学到了一些,现在分享一下,也作为以后的参考 不多说看代码 1.后台代码 public ActionResult Ajax2() { ReportData reportData ...
- 《转》---使用递归方法DataTable 绑定 TreeView
转自:http://blog.sina.com.cn/s/blog_8944756d01016yaj.html 前台: <asp:View ID="view0" runat= ...
- HTTP模拟工具【C#/Winform源码】、Json绑定TreeView控件、使用了MetroModernUI、RestSharp、Dapper.Net、Newtonsoft.Json、SmartThreadPool这几个主要开源框架
HTTP模拟工具 开发语言:C#/Winform开发工具:Visual Studio 2017数据库: SQLite使用框架:界面-MetroModernUI Http请 ...
随机推荐
- shell 写的 jrottenberg/ffmpeg 转码
#!/bin/bash ];then echo "The argument must be 2" exit; else echo "$1 $2" fi VIDE ...
- Java基础知识➣环境搭建与类型整理(一)
概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以 ...
- Java第三阶段学习(七、线程池、多线程)
一.线程池 1.概念: 线程池,其实就是一个容纳多个线程的容器,其中的线程可以重复使用,省去了频繁创建线程对象的过程,无需反复创建线程而消耗过多资源,是JDK1.5以后出现的. 2.使用线程池的方式- ...
- Python学习(十四) —— 并发编程
一.进程的概念 进程即正在执行的一个过程,进程是对正在运行的程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念.操作系统的其它所有内容都是围绕进程的概念展开的. #必备的理论基础 #一 ...
- BZOJ3560 DZY Loves Math V 数论 快速幂
原文链接http://www.cnblogs.com/zhouzhendong/p/8111725.html UPD(2018-03-26):蒟蒻回来重新学数论了.更新了题解和代码.之前的怼到后面去了 ...
- BZOJ3451 Tyvj1953 Normal 点分治 多项式 FFT
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ3451.html 题目传送门 - BZOJ3451 题意 给定一棵有 $n$ 个节点的树,在树上随机点分 ...
- IISExpress运行网站时,Service Fabric报Could not load file or assembly 'Microsoft.ServiceFabric.Data' or one of its dependencies. An attempt was made to load a program with an incorrect format.
打开VS TOOLS > OPTIONS > Projects and Solutions > WEB PROJECTS,选中 "Use the 64 bit vers ...
- P1135 奇怪的电梯 dp
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第ii层楼(1 \le i \le N)(1≤i≤N)上有一个数字K_i(0 \le K_i \le N)K ...
- python必看经典书籍:笨办法学python
书评: 感谢作者和译者,很好的手把手的一个新手编程体验书,消除编程物质恐惧感,在线看的liam huang翻译的版,不确定看的是第几版,有一些加分题没有做,第五十题黑手党外星人飞船做起来有点压力,准备 ...
- scrapy之Crawspider 腾讯招聘实战案例
1. 在虚拟机中cd到项目目录,再运行下面代码创建spider文件: scrapy genspider -t crawl test www.baidu.com 2. spider.py代码 impor ...