GTK#TreeView和StoreList赢得'';t显示数据

本文关键字:显示 数据 赢得 GTK#TreeView StoreList | 更新日期: 2023-09-27 18:29:23

我的目标是查询表并将其添加到ListView中。我只得到一个包含列名和错误的空ListView。我用了这个教程,但没有用。我意识到添加空行是因为我可以点击它们。

        using (MySqlConnection connect = new MySqlConnection(connectionString))
        {
            connect.Open();
            // QUERY GENERATION
            mySqlCommand = new MySqlCommand(query, connect);
            // QUERY PARAMETERS ADDED
            ListStore store = new Gtk.ListStore(typeof(string[]));
            for (int i = 0; i < tempselect.Length; i++) {
                _treeView.AppendColumn(tempselect[i], new Gtk.CellRendererText(), "text");
            }
            MySqlDataReader reader = mySqlCommand.ExecuteReader();
            while (reader.Read())
            {
                store.AppendValues(reader);
            }
            reader.Close();
            _treeView.Model = store;
            connect.Close();
        }

没有错误。应用程序只是不显示数据。表中有数据。我一整天都在努力解决这个问题。什么都不管用。

谢谢。

GTK#TreeView和StoreList赢得'';t显示数据

我不知道tempSelect是基于您粘贴的代码。。。

我建议在你的循环中尝试这个:

var column = new TreeViewColumn ();
column.Title = "Column Name";
column.Clickable = false;
var renderer = new CellRendererText ();
column.PackStart (renderer, true);
column.AddAttribute (renderer, "text", 0);
_treeView.AppendColumn (column);

我怀疑您的问题是,您只需要将0作为最后一个参数传递给您正在调用的AppendColumn()方法。此值用于指定文本所在的列。