<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的更多相关文章

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

    <wijmo:C1Tabs ID="C1Tab1" runat="server" ><%--OnSelectedChanged="& ...

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

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

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

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

  4. MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合

    MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合 1.基本数据类型 我们常见有传递 int, string, bool, double, decimal 等类型. 需要注意的是前台传递的参 ...

  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. Asp.net MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合

    今天为大家分享下 Asp.net MVC 将数据从前台传递到后台的几种方式. 环境:VS2013,MVC5.0框架 1.基本数据类型 我们常见有传递 int, string, bool, double ...

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

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

随机推荐

  1. asp.net core ioc 依赖注入

    1.生命周期 内置的IOC有三种生命周期: Transient: Transient服务在每次被请求时都会被创建.这种生命周期比较适用于轻量级的无状态服务. Scoped: Scoped生命周期的服务 ...

  2. NHibernate:no persister for 异常

    几种原因: 1.配置文件后缀名写错 mapping file 必须是.hbm.xml结尾 2.Web.config配置里面引用实体 <session-factory> .......... ...

  3. 【转】flannel网络的VXLAN及host-gw

    http://www.fly63.com/article/detial/1738 VXLAN是Linux内核本身支持的一种网络虚拟化技术,是内核的一个模块,在内核态实现封装解封装,构建出覆盖网络,其实 ...

  4. TagCanvas 插件

    TagCanvas是一个基于HTML5 Canvas技术开发的标签云动画.还提供一个以jQuery插件形式实现的版本. 它支持文本和图片两种格式,能够以Sphere, hcylinder 或 vcyl ...

  5. luogu P2742 【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows

    题解: 二维凸包裸题 按照x坐标为第一关键字,y坐标为第二关键字排序 然后相邻判断叉积用单调队列搞过去 正反都做一次就好了 代码: #include <bits/stdc++.h> usi ...

  6. 【C#】WebApi 添加过滤器,实现对请求参数和响应内容的日志记录

    filter的介绍 filter在Web API中经常会用到,主要用于记录日志,安全验证,全局错误处理等:Web API提供两种过滤器的基本类型:actionfilterattribute,excep ...

  7. Windows下80端口被进程System占用的解决方法

    最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经 ...

  8. JAXB在Java 9/10并且使用Tomcat 9的问题

    Implementation of JAXB-API has not been found on module path or classpath. JAXB API是java EE 的API,jav ...

  9. CSS选择器 + Xpath + 正则表达式整理(有空再整理)

    选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...

  10. pyqt pyside QAction 代码中触发

    pyqt pyside QAction 代码中触发 一般如果多个QAction(在同一个 QButtonGroup 中,而且是 checkable 的),不同情况下我们希望其中某个默认checked: ...