FineUI 官方论坛

标题: DropDownBox 如何二次绑定 [打印本页]

作者: 舞柯庶    时间: 2015-7-2 23:06
标题: DropDownBox 如何二次绑定
一个页面中放个

<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 09:12
???
作者: sanshi    时间: 2015-7-3 10:01
DDL 是什么?  DDB_List 又是什么? 详细点,这样的提问没人能解答
作者: 舞柯庶    时间: 2015-7-3 10:49
本帖最后由 舞柯庶 于 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

作者: 舞柯庶    时间: 2015-7-6 13:59





欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4