powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как лучше сделать ?
11 сообщений из 11, страница 1 из 1
Как лучше сделать ?
    #37787558
andreal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!
Из предметной области у меня есть обычная таблица данных.
Эта таблица хранится в xml файл в виде
Код: xml
1.
2.
3.
4.
5.
6.
<root>
  <Data Название="Горбуша" Белок="22,9" Жир="7,8" Морская="Да"/>
  <Data Название="Камбала" Белок="18,3" Жир="3,3" Морская="Да"/>
  .....
  .....
</root>



Эту таблицу я считываю в XmlDocument
Код: c#
1.
doc.load(fname);XmlNode root = doc.FirstChild;


Далее из doc биндю на datagrid вот так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
            
            foreach (string d in colums_name)
            {
                DataGridTextColumn col = new DataGridTextColumn();
                col.Binding = new Binding() { XPath = "@" + d };
                col.Header = d;
                dataGrid1.Columns.Add(col);
            }

            dataGrid1.ItemsSource = root.ChildNodes;


Таблица прекрасно отображается в гриде.
Теперь появилась задача : Надо из другого класса живущим своею жизнью как то получить доступ к ДАННЫМ ТАБЛИЦЕ.Вот тут мне и не совсем понятно как красивее поступить - напрямую обращаться к grid, или создать промежуточный статический двумерный массив данных или еще что?Обращение к датагриду напрямую как то коряво получается, к тому же его надо статическим делать.
Как посоветуете реорганизовать всю структуру?
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787577
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreal,

1. надо почитать, что такое область видимость переменных.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787590
andreal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK, очень хороший совет, пять баллов, но проблема в том, что из "другого класса живущим своею жизнью" я не создаю экземпляр окна,содержащего грид.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787605
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreal,

Очень хороший ответ, 10 баллов, но проблема в том, что ты не прочитал про область видимости переменных.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787613
andreal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK, не пугай рыбу в воде.Не про то говоришь.Вопрос был как организовать код (аля объекты), а не где доступны они.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787618
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreal,

Так смотри, как можно организовать объекты, если мы не знаем, какие они могут быть?
Организуй как нравится код, хоть все в одном файле, это для компилятора значения не имеет.
Имеет значение лишь разделение областей видимости для компилятора.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787628
andreal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,Да меня не технический вопрос интересует,а вопрос с точки зрения архитектуры - какие объекты использовать и связи между ними. Я написал как работает сейчас. Но ,например,доступ к элементам напрямую к гриду не совсем удобно из за отсутствия методов как таковых.И встает вопрос - использовать промежуточный двумерный массив, и сделать его статическим,чтобы всегда иметь доступ через имя класса, так как объект окна 2 раза не будет создаваться.Но все равно как то хранить данные и в гриде и в массиве не правильно.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787632
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreal,

Смекни чуток.
Ты схему правильную предлагаешь, только переменные в ней не те.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787636
andreal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,массив ссылок на столбцы грида?
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787643
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreal,

andrealдоступ к ДАННЫМ ТАБЛИЦЕ
Ваша "таблица" - это XML документ, с ним и работайте.
...
Рейтинг: 0 / 0
Как лучше сделать ?
    #37787742
andreal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch,и действиетельно получилось куул.тем самым я сохраняю бинд , а из кода я добавил всего
Код: c#
1.
2.
3.
string GetCell(int i, int j) {
            return root.ChildNodes[j].Attributes[i].Value;
        }


Спасибо!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как лучше сделать ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]