вопрос по mono develop (C# + GTK#)
есть код
{
protected virtual void LoadData(){
...
dataView.AppendColumn("Имя",new Gtk.CellRendererText (), "text", 0);
dataView.AppendColumn("Телефон",new Gtk.CellRendererText (), "text", 0);
dataView.AppendColumn("Мейл",new Gtk.CellRendererText (), "text", 0);
dataView.AppendColumn("Адрес",new Gtk.CellRendererText (), "text", 0);
...
}
...
}
ругается на то что не находт виджет :
что я не так делаю?
скорее всего, ты создал statusbar3, определил для него обработку события, затем удалил statusbar3 или переименовал, итог - компилятор в шоке.
при удалении всех упоминий о statusbar так же ругается на грид :
при удалении всех упоминий о statusbar так же ругается на грид :
опять же смотри правильно ли ты его называешь, существует ли он, создан ли он к моменту когда ты начинаешь с ним работать! посмотри код где он объявлен, где создается, ошибка где то там.
ЗЫ: и попробуй перенести код, который ты привел, в конструктор формы.
:confused:
:confused:
в смысле соединить? соединить с источником данных, соединить в смысле слоев динамической смены размеров при изменении окна и тп...??? выражайся ясней.
вообще в, приведенном тобой, коде ошибок я не вижу, вывод - или я их пропустил или они в другом месте! даешь больше коду! ;)
XmlDocument xd = new XmlDocument();
System.IO.FileStream fs = new System.IO.FileStream("data.xml", System.IO.FileMode.Open);
xd.Load(fs);
String name="";
String telephone="";
String mail="";
String adress="";
nodeview1.AppendColumn("Имя",new Gtk.CellRendererText (), "text", 0);
nodeview1.AppendColumn("Телефон",new Gtk.CellRendererText (), "text", 0);
nodeview1.AppendColumn("Мейл",new Gtk.CellRendererText (), "text", 0);
nodeview1.AppendColumn("Адрес",new Gtk.CellRendererText (), "text", 0);
XmlNodeList list = xd.GetElementsByTagName("record"); // Создаем и заполняем лист по тегу "user"
for (int i = 0; i < list.Count; i++)
{
XmlElement record=(XmlElement)xd.GetElementsByTagName("user");
name = record.GetAttribute("name");
telephone = record.GetAttribute("telephone");
mail = record.GetAttribute("email");
adress = record.GetAttribute("adress");
}
// Закрываем поток
fs.Close();
}
вот так вроде заработало.
после смены имени компонента на то что в коде
Вот к примеру :
dataview.AppendColumn ("Artist", new Gtk.CellRendererText (), "text", 0);
// Create a column with title 'Song Title' and bind its renderer to model column 1
dataview.AppendColumn ("Song Title", new Gtk.CellRendererText (), "text", 1);
dataview.ShowAll();
код выполняется но не выводит ничего (хотя вроде должен выдать 2 пустые колонки)
XmlDocument xd = new XmlDocument();
System.IO.FileStream fs = new System.IO.FileStream("data.xml", System.IO.FileMode.Open);
xd.Load(fs);
String name="";
String telephone="";
String mail="";
String adress="";
nodeview1.AppendColumn("Имя",new Gtk.CellRendererText (), "text", 0);
nodeview1.AppendColumn("Телефон",new Gtk.CellRendererText (), "text", 0);
nodeview1.AppendColumn("Мейл",new Gtk.CellRendererText (), "text", 0);
nodeview1.AppendColumn("Адрес",new Gtk.CellRendererText (), "text", 0);
XmlNodeList list = xd.GetElementsByTagName("record"); // Создаем и заполняем лист по тегу "user"
for (int i = 0; i < list.Count; i++)
{
XmlElement record=(XmlElement)xd.GetElementsByTagName("user");
name = record.GetAttribute("name");
telephone = record.GetAttribute("telephone");
mail = record.GetAttribute("email");
adress = record.GetAttribute("adress");
}
// Закрываем поток
fs.Close();
}
вот так вроде заработало.
после смены имени компонента на то что в коде
хм, интересно, а имя у грида все таки датаГрид? это очевидно баги моно.
Вот к примеру :
dataview.AppendColumn ("Artist", new Gtk.CellRendererText (), "text", 0);
// Create a column with title 'Song Title' and bind its renderer to model column 1
dataview.AppendColumn ("Song Title", new Gtk.CellRendererText (), "text", 1);
dataview.ShowAll();
код выполняется но не выводит ничего (хотя вроде должен выдать 2 пустые колонки)
у меня подобные приколы были с кьютом на форточке, решалось обычно пересборкой проекта.
вообще дотНет на лине это, очевидно, то еще сборище багов!
попробуй вставить какую нить строку.
вот весь проект. он пока небольшой, вроде легко копаться должен...
просмотрев код, могу сказать, тут действительно баг, лично я не нашел ни каких ошибок.
P.S.пошёл за новым бубном