FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3045|回复: 4
打印 上一主题 下一主题

DropDownBox 如何二次绑定

[复制链接]
跳转到指定楼层
楼主
发表于 2015-7-2 23:06:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个页面中放个

<fropDownList runat="server"  ID="ClassID"      Label="物料分类" EnableEdit="false"   AutoPostBack="true"  OnSelectedIndexChanged="ClassID_SelectedIndexChanged"  TabIndex="8">
                                   <fistItem Text="A"   Value="3"  Display="<strong>A</strong>" />
                                    <fistItem Text="B" Value="5"  Display="B" />
                                    <fistItem Text="C" Value="7"  Display="C" />
                                 </fropDownList>

<fropDownBox runat="server"  ID="MaterialSizeTypeNumber"   Label="类别"          Required="true" ShowRedStar="true"    TabIndex="10"></fropDownBox>


protected void Page_Load(object sender, EventArgs e)
        {

            try
            {
                       
                if (!IsPostBack)
                {
                    //没有问题
                    (new DDL()).DDB_List(TypeNumber, "Select * From  Basic_MaterialType    order by P_Order", "0");
                }
            }
            catch (Exception ex) { Alert.ShowInTop(ex.ToString(), "加载页面失败", MessageBoxIcon.Error); }
        }


protected void ClassID_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (ClassID.SelectedIndex != -1)
                {
                    if (ClassID.SelectedValue.ToString() == "5" || ClassID.SelectedValue.ToString() == "7")  
                        {                           
                              //  MaterialSizeTypeNumber.Items.Clear();
                            (new DDL()).DDB_List(MaterialSizeTypeNumber, "Select *  From   MaterialSizeType Where  IsHanHeJian=1 order by P_Order", "0");
                        }
                        else
                        {                          
                            //  MaterialSizeTypeNumber.Items.Clear();
                            (new DDL()).DDB_List(MaterialSizeTypeNumber, "Select *  From   MaterialSizeType Where  IsHanHeJian=0 order by P_Order", "0");
                        }                    
                }
            }
            catch (Exception ex)
            {
                Alert.ShowInTop("失败_ClassID_SelectedIndexChanged!!" + ex.Message);
            }
        }


为什么红色不能绑定呢?     一直不发生变化!

为什么呢?


板凳
发表于 2015-7-3 10:01:04 | 只看该作者
DDL 是什么?  DDB_List 又是什么? 详细点,这样的提问没人能解答
地板
 楼主| 发表于 2015-7-3 10:49:43 | 只看该作者
本帖最后由 舞柯庶 于 2015-7-3 14:00 编辑

    public void DDB_List(DropDownBox DDB_ID, string sql, string TopParentValue)
        {


            Tree xTree = new Tree();
            xTree.Hidden = true;
            xTree.ShowHeader = false;
            xTree.EnableMultiSelect = DDB_ID.EnableMultiSelect;      //和DropDownBox 保持一致
            xTree.KeepCurrentSelection = DDB_ID.EnableMultiSelect;   //保持选中状态               



            //构造Tree 树结构
            (new TreeInfo()).LoadData(xTree, sql, TopParentValue, "", false);


            DDB_ID.PopPanel.Add(xTree);
        }


//TreeInfo.cs

    #region 构造结构菜单树
    /// <summary>
    /// Tree模块树
    /// Sql 格式 Select A T_Value,B T_Text,'父代码' T_ParentCode,'是否启用' IsEnable From Table
    /// </summary>
    public class TreeInfo
    {



        //构造结构菜单树 IsShow=是否启用
        //Sql 格式 Select A T_Value,B T_Text,'父代码' T_ParentCode,'是否启用' IsEnable From Table
        public void LoadData(Tree xTree1, string Sql, string TopParentValue, string ExtraField, Boolean xCheck)
        {
            xTree1.Nodes.Clear();

            DB db = new DB();

            // 模拟从数据库返回数据表
            DataTable table = db.Dt_table(Sql);

            DataSet ds = new DataSet();
            ds.Tables.Add(table);
            ds.Relations.Add("TreeRelation", ds.Tables[0].Columns["T_Value"], ds.Tables[0].Columns["T_ParentCode"], false);


            foreach (DataRow row in ds.Tables[0].Rows)
            {
                if (row["T_ParentCode"].ToString() == TopParentValue)
                {
                    TreeNode node = new TreeNode();

                    if (ExtraField != "")
                    {
                        node.Text = row["T_Text"].ToString() + "【" + row[ExtraField].ToString() + "】";
                    }
                    else
                    {
                        node.Text = row["T_Text"].ToString();
                    }

                    node.NodeID = row["T_Value"].ToString();   //node.Icon = Icon.RecordGreen;                  

                    node.Expanded = true;  //是否展开
                    //node.EnableClickEvent = true;

                    if (row["IsEnable"].ToString() == "1")
                    {
                        node.Selectable = true;
                    }
                    else
                    {
                        node.Selectable = false; ; //禁用
                    }

                    if (xCheck == true)
                    {
                        node.EnableCheckBox = true;
                        node.EnableClickEvent = true; //升级注释 替换  node.EnablePostBack = true;
                        node.EnableCheckEvent = true; //升级注释 替换  node.AutoPostBack = true;  
                    }


                    xTree1.Nodes.Add(node);

                    ResolveSubTree(row, node, ExtraField, xCheck);
                }
            }

        }


        //循环树节点  xIsEnable=1 禁用
        private void ResolveSubTree(DataRow dataRow, TreeNode treeNode, string ExtraField, Boolean xCheck)
        {
            DataRow[] rows = dataRow.GetChildRows("TreeRelation");
            if (rows.Length > 0)
            {

                foreach (DataRow row in rows)
                {
                    TreeNode node = new TreeNode();
                    if (ExtraField != "")
                    {
                        node.Text = row["T_Text"].ToString() + "【" + row[ExtraField].ToString() + "】";
                    }
                    else
                    {
                        node.Text = row["T_Text"].ToString();
                    }

                    node.NodeID = row["T_Value"].ToString();
                    //node.ToolTip = row["T_Value"].ToString();
                    //node.Icon = Icon.RecordGreen;

                    if (row["IsEnable"].ToString() == "1")
                    {
                        node.Selectable = true;
                    }
                    else
                    {
                        node.Selectable = false; ; //禁用
                    }

                    if (xCheck == true)
                    {
                        node.EnableCheckBox = true;
                        node.EnableClickEvent = true; //升级注释 替换  node.EnablePostBack = true;
                        node.EnableCheckEvent = true; //升级注释 替换  node.AutoPostBack = true;
                    }


                    treeNode.Nodes.Add(node);
                    ResolveSubTree(row, node, ExtraField, xCheck);  //循环调用
                }
            }
        }

    }
    #endregion
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-28 04:53 , Processed in 0.046910 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表