Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FindNodeBiFieldValue返回null_C#_Winforms_Devexpress - Fatal编程技术网

C# FindNodeBiFieldValue返回null

C# FindNodeBiFieldValue返回null,c#,winforms,devexpress,C#,Winforms,Devexpress,逻辑: -根据条件“expand=true”从数据表行中选择 -搜索行 -根据字符串字段的值,我们可以在“托盘列表”中找到节点 在方法ExpandCurentNode()的行中 TreeListNode node = treeList1.FindNodeByFieldValue("NodeName", name); 我们得到空值 问题 为什么FindNodeByFieldValue返回null 说明 树列表填充方法DataBinding() 属性PopulateServiceColumns=

逻辑:
-根据条件“expand=true”从数据表行中选择
-搜索行
-根据字符串字段的值,我们可以在“托盘列表”中找到节点

在方法
ExpandCurentNode()
的行中

TreeListNode node = treeList1.FindNodeByFieldValue("NodeName", name); 
我们得到空值

问题
为什么FindNodeByFieldValue返回null

说明
树列表填充方法
DataBinding()

属性
PopulateServiceColumns=true

连接代码

 public void connect()
        {
            string catBD = @"с:\db\db.01.accdb";
            string conBD = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}", catBD);

            OleDbConnection connection = new OleDbConnection(conBD);

            connection.Open();

            string query1 = "SELECT * FROM TableTreeViewNoAi_12";
            OleDbCommand cmd1 = new OleDbCommand(query1, connection);

            dt = new DataTable();
            dt.Columns.Add("ID", typeof(int));
            dt.Columns["ID"].AutoIncrement = true;
            dt.Columns["ID"].AutoIncrementSeed = 44;
            dt.Columns["ID"].AutoIncrementStep = 1;

            dt.Columns.Add("PrID", typeof(int));
            dt.Columns.Add("sorting", typeof(int));
            dt.Columns.Add("NodeName", typeof(string));
            dt.Columns.Add("Description", typeof(string));
            dt.Columns.Add("Comment", typeof(string));
            dt.Columns.Add("dateN", typeof(string));
            dt.Columns.Add("Cost", typeof(int));
            dt.Columns.Add("typeRecord", typeof(string));
            dt.Columns.Add("stImageInd", typeof(int));
            dt.Columns.Add("expand", typeof(bool));
            dt.Columns.Add("focus", typeof(bool));


            try
            {
                adapter = new OleDbDataAdapter(cmd1);
                cmdBuilder = new OleDbCommandBuilder(adapter);
                adapter.UpdateCommand = cmdBuilder.GetUpdateCommand();
                adapter.InsertCommand = cmdBuilder.GetInsertCommand();

            }
            catch (Exception ex)
            {
                string s = ex.Message;
                throw;
            }

            adapter.Fill(dt);

            dt.RowChanged += new DataRowChangeEventHandler(Row_Changed);
        }

        public void DataBinding()
        {
            // Чтобы отобразить поля "KeyFieldName" и "ParentFieldName"
            // Свойство  - PopulateServiceColumns = true

            // Привязка к ключевым полям
            treeList1This.KeyFieldName = "ID";
            treeList1This.ParentFieldName = "PrID";

            treeList1This.DataSource = dt;
            // dataGridView1.DataSource = dt;
        }
表格代码

     private void Frm29UC_Load(object sender, EventArgs e)
            {
                 treeList1.BestFitColumns(); // расширить поля
                ExpandCurentNode(); // восстановление дерева после открытия

            }

public void ExpandCurentNode() // Восстановление состояния после открытия дерева 
        {
            var selectedDt = conectDB.dt.Select("expand = true"); // DataTable.Select
            int i = selectedDt.Length;
            foreach (var b in selectedDt)
            {
                string name = b["NodeName"].ToString();
                TreeListNode node = treeList1.FindNodeByFieldValue("NodeName", name); // +-              string s = node.GetValue("NodeName").ToString();
                node.Expand();
                ExpandParentNode(node);
            }
        }

调用ExpandCurentNode方法时,确保树列表已完全初始化。为此,请在方法之前调用该方法