1

我的目标是查询表并将其添加到 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();
        }

没有错误。该应用程序只是不显示数据。表中有数据。我试图解决这个问题一整天。没有任何效果。

谢谢你。

4

1 回答 1

1

根据您粘贴的代码,我不知道 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() 方法。需要此值来指定文本所在的列。

于 2013-08-30T00:23:06.043 回答