<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. Tomcat使用https

    # 用JDK自带的Keytool生成keystore文件keytool -genkey -alias tomcat -keyalg RSA -keypass Envisi0n -storepass E ...

  2. C#版本与Framework的关系

    C# 1.0 released with .NET 1.0 and VS2002 (January 2002) C# 1.2 (bizarrely enough); released with .NE ...

  3. JSP基础知识➣Cookie和Session(五)

    JSP Cookie 处理 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持.JSP脚本通过request对象 ...

  4. python之集合set

    1.测试 # python2和python3方法列表相同 ops23 = ['add', 'clear', 'copy', 'difference', 'difference_update', 'di ...

  5. ArcObjects 中连接geodatabase

    参考资料: 1. http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/d/0001000003s8 ...

  6. JAVA 关键字及其作用解释

    1. 访问控制 1) private 私有的 private 关键字是访问控制修饰符,可以应用于类.方法或字段(在类中声明的变量). 只能在声明 private(内部)类.方法或字段的类中引用这些类. ...

  7. create-react-app项目添加less配置

    使用create-react-app 创建的项目默认不支持less,以下增加less配置的步骤 暴露配置文件 create-react-app生成的项目文,看不到webpack相关的配置文件,需要先暴 ...

  8. Java常用API——时间类

    前言:Java.util.*工具包中,包含了集合框架,旧集合类,事件模型,日期和时间设施,国际化和其他使用程序类 (字符串.随机数生成器和位数组) 一.日期类Date 1.概述 Date是一个薄包装类 ...

  9. Springmvc借助SimpleUrlHandlerMapping实现接口开关功能

    一.接口开关功能 1.可配置化,依赖配置中心 2.接口访问权限可控 3.springmvc不会扫描到,即不会直接的将接口暴露出去 二.接口开关使用场景 和业务没什么关系,主要方便查询系统中的一些状态信 ...

  10. Splay的初步学习

    具体是啥,qwq 有时间再补吧,贴一下代码: #include<iostream> #include<cstdio> #include<cstring> #incl ...