c# 后台绑定treeview 单个tab
<wijmo:C1TreeView ID="C1TreeView1" runat="server" ShowCheckBoxes="true" ShowExpandCollapse="true" Width="300px"></wijmo:C1TreeView>
<asp:Button ID="ButtonToTable" runat="server" Text="转表格" OnClick="ButtonToTable_Click" Width="58px" />
后台
DataTable dtOil = GJPDbHelper.DAL.ExecuteDataSet("SELECT [品牌],[类型] FROM [AIRB_MMTREE] where [treeType] = '1' group by [品牌],[类型]").Tables[0];
BindTreeOil(dtOil);
#region "Optional Interfaces" /// -----------------------------------------------------------------------------
/// <summary>
/// Registers the module actions required for interfacing with the portal framework
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>
/// <history>
/// </history>
/// -----------------------------------------------------------------------------
public ModuleActionCollection ModuleActions
{
get
{
ModuleActionCollection Actions = new ModuleActionCollection();
Actions.Add(GetNextActionID(), Localization.GetString(ModuleActionType.AddContent, this.LocalResourceFile),
ModuleActionType.AddContent, "", "add.gif", EditUrl(), false, DotNetNuke.Security.SecurityAccessLevel.Edit,
true, false);
return Actions;
}
} #endregion /// <summary>
/// 将数据绑定到C1TreeView1
/// </summary>
/// <param name="dtSource">传入两列数据</param>
private void BindTreeOil(DataTable dtSource)
{ C1TreeView1.Nodes.Clear(); string topNodeStr = ""; 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]); C1TreeView1.Nodes.Add(newNode);
topNodeStr = Convert.ToString(c1row[0]);
curNode = newNode; C1TreeViewNode newsubNode = new C1TreeViewNode();
newsubNode.Value = Convert.ToString(c1row[1]);
newsubNode.Text = Convert.ToString(c1row[1]); curNode.Nodes.Add(newsubNode);
}
else
{
C1TreeViewNode newNode = new C1TreeViewNode();
newNode.Value = Convert.ToString(c1row[1]);
newNode.Text = Convert.ToString(c1row[1]); curNode.Nodes.Add(newNode); }
}
} /// <summary>
/// 建立所选项目的目录框架
/// </summary>
/// <param name="ctrv"></param>
/// <returns></returns>
protected DataTable checkItemTableOil(C1TreeView ctrv)
{
InsusJsUtility js = new InsusJsUtility();
Boolean itemCountFlag = false;
string parentText = "";
int boolCount = 0;
DataTable infoTable = new DataTable();
infoTable = GJPDbHelper.DAL.ExecuteDataSet("SELECT '' as pinpai,'' as leixing FROM [AIRB_MMTREE] where [treeType] = '999' ").Tables[0]; foreach (C1TreeViewNode csnode in ctrv.Nodes)
{
//csnode.CheckState = C1TreeViewNodeCheckState.Indeterminate;
if (csnode.CheckState == C1TreeViewNodeCheckState.Checked)
{
if (boolCount > 3)
{
js.JsAlert("选择油品已大于4个");
break;
}
additemInfoRow(infoTable, csnode.Text, "");
boolCount++;
}
else if (csnode.CheckState == C1TreeViewNodeCheckState.Indeterminate)
{
foreach (C1TreeViewNode subcsnode in csnode.Nodes)
{
if (subcsnode.CheckState == C1TreeViewNodeCheckState.Checked)
{
if (boolCount > 3)
{
js.JsAlert("选择油品已大于4个");
break;
}
additemInfoRow(infoTable, csnode.Text, subcsnode.Text);
boolCount++;
}
}
}
}
return infoTable;
} /// <summary>
///
/// 快速设置新的结构行
/// </summary>
/// <param name="dt"></param>
/// <param name="level1"></param>
/// <param name="level2"></param>
protected void additemInfoRow(DataTable dt, string level1, string level2)
{
System.Data.DataRow row;
row = dt.NewRow();
// Then add the new row to the collection.
row[0] = level1;
row[1] = level2;
dt.Rows.Add(row);
}
//树状图中被选项显示到C1GridView1中
protected void ButtonToTable_Click(object sender, EventArgs e)
{
// 返回目录
DataTable dt = new DataTable();
InsusJsUtility js = new InsusJsUtility();
dt = checkItemTableOil(C1TreeView1);
int dtCount = dt.Rows.Count; if (dtCount == 0)
{
js.JsAlert("未选择油品!");
}
else
{
C1GridView1.DataSource = dt;
C1GridView1.DataBind(); ButtonToDsr.Visible = true;
} }
c# 后台绑定treeview 单个tab的更多相关文章
- c# 后台绑定treeview 多个tab
<wijmo:C1Tabs ID="C1Tab1" runat="server" ><%--OnSelectedChanged="& ...
- TreeView控件之,后台构建TreeView(WinForm小程序)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAIdCAIAAABeBzrBAAAgAElEQVR4nOzdd5Qc130n+tl/nr3e5+
- GridView后台绑定数据列表方法
在很多时候数据绑定都是知道了数据表中的表字段来绑定GridView控件的,那时候我就有个想法希望通过表明来查询数据库中的字段来动态的绑定GirdView控件数据并提供了相关的操作列,在网上找了一些资料 ...
- MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合
MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合 1.基本数据类型 我们常见有传递 int, string, bool, double, decimal 等类型. 需要注意的是前台传递的参 ...
- 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 ...
- Asp.net MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合
今天为大家分享下 Asp.net MVC 将数据从前台传递到后台的几种方式. 环境:VS2013,MVC5.0框架 1.基本数据类型 我们常见有传递 int, string, bool, double ...
- 《转》---使用递归方法DataTable 绑定 TreeView
转自:http://blog.sina.com.cn/s/blog_8944756d01016yaj.html 前台: <asp:View ID="view0" runat= ...
随机推荐
- python requests 正则爬虫
代码: import requests from multiprocessing import Pool from requests.exceptions import RequestExceptio ...
- MyBatis - 2.全局文件配置
1.properties 属性 <!--properties 引入外部配置文件 properties 的内容 resource: 引入类路径资源 url: 引入网络资源 --> <p ...
- WPF:如何高速更新Model中的属性
原文:[WPF/MVVM] How to deal with fast changing properties In this article, I will describe a problem w ...
- ASP.NET Core Cookie-based认证实现
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace HelloCore2.Contr ...
- JS 中 ~~符号
它被用作一个更快的替代 Math.floor() . 参考:http://rocha.la/JavaScript-bitwise-operators-in-practice
- (转载)dotnet core 中文乱码 codepages
引子 转载自:http://www.jianshu.com/p/1c9c59c5749a 参考:.Net Core 控制台输出中文乱码 上文中我查阅了一些cli的源码, 闲来无事就继续翻代码, 冥冥之 ...
- sdoi2017苹果树
题解: 非常奇妙的一题.. 没有免费操作我都不会$nk$....考试打个暴力就可以走人了 树上有依赖背包问题的正确做法是(为啥我之前学的不是这样的啊) 按照后续遍历做背包 做到一个点的时候 枚举它选不 ...
- B - Alyona and towers CodeForces - 739C
链接: https://vjudge.net/contest/202699#problem/B 题意: 给出一个序列,要支持区间加和操作 求其中最长的区间,该区间内的元素满足(ai<ai+1&l ...
- parted 分区命令
fdisk 是针对 MBR的分区 ,因为MBR分区空间最大不能超过2T 最多分4个主分区 , 所以parted可以修改磁盘为GPT 可以支持更大的分区,更多的分区 1 查看分区 : #part ...
- web请求过程-学习使人快乐1
智齿离开我10个小时了,现在除了书啥都不能啃········呜呜呜~ ~~~~~~~~~~~~~~~~~~~想滑滑梯~~~~~~~~~~~~~~~~~~~ 网络请求过程 web请求大多使用B/ ...