Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/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# 从mysql更新组合框中的值_C#_Mysql_Datagridview_Combobox - Fatal编程技术网

C# 从mysql更新组合框中的值

C# 从mysql更新组合框中的值,c#,mysql,datagridview,combobox,C#,Mysql,Datagridview,Combobox,我的datagridview中有一个ComboBoxColumn,绑定到它们的数据来自另一个表。数据可以在任何时候更新,因此我希望在从另一个表添加/更新数据时自动更新ComboBoxColumn中的数据 我试过用- ScripterCombo.DataSource = updatedUserList; updateUserList是我要应用于ComboBoxColumn的数据列表,我已经设置了ComboxColumn的数据源。不幸的是,ComboBoxColumn从未更新。我需要重新加载整个应

我的datagridview中有一个
ComboBoxColumn
,绑定到它们的数据来自另一个表。数据可以在任何时候更新,因此我希望在从另一个表添加/更新数据时自动更新
ComboBoxColumn
中的数据

我试过用-

ScripterCombo.DataSource = updatedUserList;
updateUserList
是我要应用于
ComboBoxColumn
的数据列表,我已经设置了
ComboxColumn
数据源。不幸的是,
ComboBoxColumn
从未更新。我需要重新加载整个应用程序才能查看更改

更新-

抱歉,我没有使用列表来存储数据,我使用的是字符串数组。基本上,我连接到后端服务器并循环遍历“用户”列中的所有名称:

MySqlConnection(Constants.serverInfo))
            {
                getNumberOfUsers.Open();

                using (MySqlCommand requestCommand = new MySqlCommand("SELECT COUNT(*) FROM userlist", getNumberOfUsers))
                {
                    MySqlDataReader userReader = requestCommand.ExecuteReader();

                    while (userReader.Read())
                    {
                        iNumberOfUsers = userReader.GetInt32(0);               // Pull the number of Owners from the backend.
                        strListOfUsers = new string[iNumberOfUsers];          // Make sure the owner list can hold the value pulled from the backend. 
                    }
                    userReader.Close();
                }
                getNumberOfUsers.Close();
            }

            // Get the names of the users 
            using (MySqlConnection getUsersNames = new MySqlConnection(Constants.serverInfo))
            {
                getUsersNames.Open();

                using (MySqlCommand requestCommand = new MySqlCommand("SELECT username FROM userlist", getUsersNames))
                {
                    MySqlDataReader userReader = requestCommand.ExecuteReader();

                    for (int i = 0; i < iNumberOfUsers; i++)
                    {
                        while (userReader.Read())
                        {
                            strListOfUsers[i] = userReader.GetString(0); ;                  // Add the user to the list of users. 
                            i++;                                                
                        }
                    }
                    userReader.Close();
}
getUsersNames.Close();
}
不幸的是,这并没有更新组合框,但是当我在运行这个之后检查数据源时,它会显示新添加的用户。它只是不想显示它

希望这是有意义的

谢谢

尝试添加
ToList()


你能发更多的代码吗?我相信UpdateUserList永远不会改变你可以分享你的全部代码关于UpdateUserList如何工作?
 ScripterCombo.DataSource = updatedUserList;
ScripterCombo.DataSource = updatedUserList.ToList();