我的目标是查询表并将其添加到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();
}
没有错误。该应用程序只是不显示数据。表中有数据。 我想解决这个问题一整天。什么都行不通。
谢谢。
答案 0 :(得分: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()方法。需要此值来指定文本所在的列。