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= ...
随机推荐
- 视频H265格式压缩,软件压缩方法,硬件的没有条件,没法测试。
libx265软压c:/ffmpeg/ffmpeg.exe -i input.mp4 -c:v libx265 -preset:v fast output.mp4 原文件大小:610.87mb 目标文 ...
- 将现有项目添加到TFS中
假设在Projects文件夹中有一个名为WpfApplication1的项目需要添加到TFS. 我们可以这样做: 1.打开视图->团队资源管理器,点击管理连接,在弹出的窗口中选择服务器和团队项目 ...
- 微信小程序 View:flex 布局
微信小程序 View 支持两种布局方式:Block 和 Flex 所有 View 默认都是 block 要使用 flex 布局的话需要显式的声明: display:flex; 下面就来介绍下微信小程序 ...
- 构建简单的json树形菜单
json结构: var Menu = [{ tit:"一级菜单", submenu:[{ tit:"二级菜单", url:"", func: ...
- 一起学Hadoop——实现两张表之间的连接操作
---恢复内容开始--- 之前我们都是学习使用MapReduce处理一张表的数据(一个文件可视为一张表,hive和关系型数据库Mysql.Oracle等都是将数据存储在文件中).但是我们经常会遇到处理 ...
- Python_socket
TCP : 可靠传输,不安全,UDP: 安全传输,不可靠 一台机器上有2^16-1=65535个端口(1-1024)保留自己开就1024往上 socket (套接字):也可以理解为它是一个管道,用于描 ...
- squid,nginx,lighttpd反向代理的区别
反向代理从传输上分可以分为2种: 1:同步模式(apache-mod_proxy和squid) 2:异步模式(lighttpd 和 nginx) 在nginx的文档说明中,提到了异步传输模式并提到它可 ...
- 如何在不使用try语句的情况下查看文件是否存在
如果你要确定文件存在的话然后做些什么,那么使用try是最好不过的 如果您不打算立即打开文件,则可以使用os.path.isfile检查文件 如果path是现有常规文件,则返回true.对于相同的路径, ...
- JavaSE| 面向对象的三大特征
1.面向对象的基本特征之一:封装Encapsulation 目的:隐藏实现细节,让使用者方便,让代码更安全 将对象的属性和行为封装起来,其载体就是类.类通常对客户隐藏其实现细节,这就是封装的思想. 封 ...
- Ubuntu + 坚果云
下载 nautilus_nutstore_amd64.deb sudo dpkg -i nautilus_nutstore_amd64.deb # 运行后,会提示缺少依赖包 sudo apt-get ...