Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGrid. Новая колонка. Проблема с binding-ом, Новая колонка со своим binding-ом 
:(
    Опции темы
suneption
  Дата 5.11.2012, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.11.2012

Репутация: нет
Всего: нет



Всем привет! Постараюсь вкратце.
Подготовка.
Создал DataGrid:
Код

<DataGrid Grid.Row="0" AutoGenerateColumns="True" Name="dataGrid">
        </DataGrid>


Создал тестовый класс:
Код

class ABClass
        {
            public int A { get; set; }
            public int B { get; set; }
        }


Создал коллекцию. В обработчике кнопки дополняю коллекцию новым объектом и привязываю коллекцию к dataGrid:
Код

ObservableCollection<ABClass> collectionsABClass = null;

        private void buttonLoad_Click(object sender, RoutedEventArgs e)
        {
            if (collectionsABClass == null)
            {
                collectionsABClass = new ObservableCollection<ABClass>();
            }

            collectionsABClass.Add(new ABClass() { A = numberA, B = numberB });

            numberA++;
            numberB++;

            this.dataGrid.ItemsSource = collectionsABClass;
        }


Создал еще класс:
Код

class TotalClass
        {
            private int total;

            public int Total 
            { 
                get { return this.total; } 
                set { this.total = value; } 
            }
        }


Создал коллекцию. В обработчике кнопки дополняю коллекцию новым объектом, свойство Total которого равно сумме значений колонок A и B.

Код

ObservableCollection<TotalClass> collectionsTotalClass = null;

        private void buttonAddColumn_Click(object sender, RoutedEventArgs e)
        {
            if (collectionsTotalClass == null)
            {
                collectionsTotalClass = new ObservableCollection<TotalClass>();
            }

            foreach (ABClass abItem in collectionsABClass)
            {
                int totalAB = abItem.A + abItem.B;
                collectionsTotalClass.Add(new TotalClass() { Total = totalAB });
            }

            DataGridTextColumn newDataGridTextColumn = new DataGridTextColumn();
            newDataGridTextColumn.Header = "Total";

            Binding bind = new Binding();
            bind.Source = collectionsTotalClass;
            bind.Path = new PropertyPath("Total");

            newDataGridTextColumn.Binding = bind;

            this.dataGrid.Columns.Add(newDataGridTextColumn);
        }


Результат работы:
http://s1.ipicture.ru/uploads/20121105/Pjdkg6YK.bmp

И тут позникает проблема. В новой колонке "Total" должна отображаться эта сумма. Но этого не происходит! Подозреваю что проблема в привязке. Как это исправить!?
PM MAIL   Вверх
suneption
Дата 13.11.2012, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.11.2012

Репутация: нет
Всего: нет



Один из путей решения данной проблемы: http://social.msdn.microsoft.com/Forums/ru...bf-d9bab8d47694
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.