zoukankan      html  css  js  c++  java
  • 重复表中连级下拉框采用数据源时,子级下拉框列表数据无法持久的问题

    谁能解决这个问题?谢谢了


    //一级下拉框改变事件
    public void field1_Changed(object sender, XmlEventArgs e)
            {
                XPathNavigator me = (XPathNavigator)sender;
                if (me.Value == "")
                    return;
                // 主数据源
                XPathNavigator MainXpn = MainDataSource.CreateNavigator();
               //辅助数据源
                XPathNavigator RequestXpn = this.DataSources["getCodeTable"].CreateNavigator();
                RequestXpn.SelectSingleNode("/dfs:myFields/dfs:queryFields/tns:getCodeTable/tns:codeTabelSetType", NamespaceManager).SetValue("codetable.xml");
               
               
                //开始取参数
                RequestXpn.SelectSingleNode("/dfs:myFields/dfs:queryFields/tns:getCodeTable/tns:codeTabelType", NamespaceManager).SetValue(me.Value);
                //开始更新辅助数据源,问题出在这里:所有的二级下拉框菜单均访问这个数据源!
                //所以二级下拉框菜单将同时更新!
                this.DataSources["getCodeTable"].QueryConnection.Execute();
     
       //尝试遍历?
                XPathNodeIterator NodeIter = this.MainDataSource.CreateNavigator().Select("/my:myFields/my:group1/my:group2", this.NamespaceManager);
                string str1="";
                foreach (XPathNavigator item in NodeIter)
                {
                    XPathNavigator n1 = item.SelectSingleNode("my:field1", NamespaceManager);
                    str1 += n1.Value+",";
                    //遍历毫无意义!因为所有的二级下拉框菜单还是访问最后一次遍历得到的数据源
        //只要下拉框使用数据源,下拉框的列表数据都将无法持久,选用其他方式的数据源还是会出现同样问题
                    RequestXpn.SelectSingleNode("/dfs:myFields/dfs:queryFields/tns:getCodeTable/tns:codeTabelType", NamespaceManager).SetValue(n1.Value);
                    this.DataSources["getCodeTable"].QueryConnection.Execute();

                }
     
     

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    TClientDataSet[6]: 读取 TClientDataSet 中的图片数据
    TClientDataSet[2]: Data、XMLData
    TClientDataSet[5]: 读取数据
    TClientDataSet[1]: 浏览测试数据
    TClientDataSet[3]: 手动建立数据集
    从哪查找当前程序所有可用的环境变量?
    使用多窗体时, 关于节约内存和加快启动速度的思考与尝试
    一句话获取文件的最新修改时间
    用 SuperObject 解析淘宝上的 Json 数据 回复 "macrolen" 的问题
    “生气”的经典解释
  • 原文地址:https://www.cnblogs.com/starcrm/p/1433097.html
Copyright © 2011-2022 走看看