Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вопрос по mono develop (C# + GTK#)

536
19 января 2010 года
alex-kniaz
382 / / 07.08.2008
На форме виджет nodeview с name - dataView
есть код
Код:
public partial class MainWindow: Gtk.Window
{  
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);
...
}
...
}

ругается на то что не находт виджет :
Цитата:
[Task:File=/home/datauser/Projects/adrbook/adrbook/MainWindow.cs, Line=18, Column=17, Type=Error, Priority=Normal, Description=The name `statusbar3' does not exist in the current context(CS0103)]


что я не так делаю?

307
20 января 2010 года
Artem_3A
863 / / 11.04.2008
ругается на statusbar3, ты показал код на грид виев, сложно сказать что не так! покажи Line=18, Column=17 и этот преславутый statusbar3.

скорее всего, ты создал statusbar3, определил для него обработку события, затем удалил statusbar3 или переименовал, итог - компилятор в шоке.
536
20 января 2010 года
alex-kniaz
382 / / 07.08.2008
упс, пропустил.
при удалении всех упоминий о statusbar так же ругается на грид :
Цитата:
[Task:File=/home/datauser/Projects/adrbook/adrbook/MainWindow.cs, Line=18, Column=17, Type=Error, Priority=Normal, Description=The name `dataView' does not exist in the current context(CS0103)]

307
20 января 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: alex-kniaz
упс, пропустил.
при удалении всех упоминий о statusbar так же ругается на грид :



опять же смотри правильно ли ты его называешь, существует ли он, создан ли он к моменту когда ты начинаешь с ним работать! посмотри код где он объявлен, где создается, ошибка где то там.

ЗЫ: и попробуй перенести код, который ты привел, в конструктор формы.

536
20 января 2010 года
alex-kniaz
382 / / 07.08.2008
существует. перенос в конструктор также ломается
307
20 января 2010 года
Artem_3A
863 / / 11.04.2008
закоменть сие строки и посмотри чего получиться. ругался же он на них?
57K
20 января 2010 года
Юра16
1 / / 20.01.2010
подскажите как соеденить два компонента между собой
:confused:
307
20 января 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: Юра16
подскажите как соеденить два компонента между собой
:confused:


в смысле соединить? соединить с источником данных, соединить в смысле слоев динамической смены размеров при изменении окна и тп...??? выражайся ясней.

Цитата: alex-kniaz
существует. перенос в конструктор также ломается


вообще в, приведенном тобой, коде ошибок я не вижу, вывод - или я их пропустил или они в другом месте! даешь больше коду! ;)

536
20 января 2010 года
alex-kniaz
382 / / 07.08.2008
вот весь проект. он пока небольшой, вроде легко копаться должен :)
536
20 января 2010 года
alex-kniaz
382 / / 07.08.2008
Код:
protected void LoadData(){
        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();
    }

вот так вроде заработало.
после смены имени компонента на то что в коде
536
20 января 2010 года
alex-kniaz
382 / / 07.08.2008
кстати, гуглил и не нагуглил, как нормально работать с гридами. все примеры что я нашёл у мну компилятся но ничего не отображают.
Вот к примеру :
 
Код:
// Create a column with title Artist and bind its renderer to model column 0
        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 пустые колонки)
307
20 января 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: alex-kniaz
Код:
protected void LoadData(){
        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();
    }

вот так вроде заработало.
после смены имени компонента на то что в коде


хм, интересно, а имя у грида все таки датаГрид? это очевидно баги моно.

Цитата: alex-kniaz
кстати, гуглил и не нагуглил, как нормально работать с гридами. все примеры что я нашёл у мну компилятся но ничего не отображают.
Вот к примеру :
 
Код:
// Create a column with title Artist and bind its renderer to model column 0
        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 пустые колонки)



у меня подобные приколы были с кьютом на форточке, решалось обычно пересборкой проекта.
вообще дотНет на лине это, очевидно, то еще сборище багов!

попробуй вставить какую нить строку.

Цитата: alex-kniaz

вот весь проект. он пока небольшой, вроде легко копаться должен...



просмотрев код, могу сказать, тут действительно баг, лично я не нашел ни каких ошибок.

536
21 января 2010 года
alex-kniaz
382 / / 07.08.2008
пробовал ставить переставлять и пересобирать. ничего не пашет
P.S.пошёл за новым бубном
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог