Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вычисляемая колонка / 9 сообщений из 9, страница 1 из 1
07.11.2014, 18:48
    #38798912
Clava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
В типизированном датасете есть несколько полей, в том числе вычисляемое. Как лучше реализовать редактирование таблицы?
1. Если вычислять поле на сервере - то "на лету" в вычисляемой колонке значения изменяются только после выполнения update. Меня это не устраивает.
2. на клиенте пытаюсь вычислять по событию CellValueChanged. При первоначальном вводе все ок, но при попытке редактировать значение не изменяется, ни изменяемое, ни вычисляемое на его основе. Делаю вот так. Считает верно, но при редактировании не присваивает ((DataGridView)sender).Rows[e.RowIndex].Cells["PRICE_NDS"].Value новое значение
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {            
            decimal nds = Convert.ToDecimal(1.18);

           if (e.RowIndex > -1 && e.ColumnIndex < ((DataGridView)sender).ColumnCount               
                && ((DataGridView)sender).Rows[e.RowIndex].Cells[e.ColumnIndex].Value != DBNull.Value)
            {
                if (String.Equals(((DataGridView)sender).Columns[e.ColumnIndex].DataPropertyName, "PRICE"))
                {
                    ((DataGridView)sender).Rows[e.RowIndex].Cells["PRICE_NDS"].Value
                       = nds * Decimal.Parse(((DataGridView)sender).Rows[e.RowIndex].Cells["PRICE"].Value.ToString());
                    
                  }
            }
        }
...
Рейтинг: 0 / 0
07.11.2014, 19:54
    #38798985
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
Clava,

как вычисляемое поле делается на клиенте? DataColumn.Expression пробовали?
...
Рейтинг: 0 / 0
08.11.2014, 09:55
    #38799193
Clava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
Безусловно пробовала. Падает по ошибке.
Мне необходимо при изменении значения (PRICE), от которого зависит вычисляемая колонка, значение в вычисляемой колонке (PRICE_NDS) менялись сразу, а не после update. Разве нельзя сделать так по событию CellValueChanged?
...
Рейтинг: 0 / 0
08.11.2014, 19:29
    #38799426
Beresnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
Для того, чтобы в вычисляемом поле появилось обновленное значение, необходимо как-то сообщить приложению, что вы закончили редактирование текущей строки. Для чего, например, следует переместить фокус ввода на другую строку.
...
Рейтинг: 0 / 0
08.11.2014, 19:43
    #38799429
Beresnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
И ещё одно в догонку. Намного лучше (во всех отношениях) все телодвижения выполнять не на уровне представления данных (DataGridView), а на уровне привязки данных (BindingSource). Т.е. элемент управления (DataGridView) привязывается к источнику привязки (BindingSource), а последний уже к таблицам из DataSet.
...
Рейтинг: 0 / 0
09.11.2014, 00:56
    #38799595
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
BeresnevДля чего, например, следует переместить фокус ввода на другую строку.
йад в аптеке
...
Рейтинг: 0 / 0
09.11.2014, 01:07
    #38799611
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
Изопропил,

йад везде
...
Рейтинг: 0 / 0
10.11.2014, 09:15
    #38800271
Clava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
Ok. Поставим вопрос другим образом. Надо чтобы при последовательном вводе значений в текущей строке при вводе значения в одну ячейку другая сразу же пересчитывалась(она ридонли). Без сохранения и перехода на другие строки. Это касается как ввода новых значений так и редактирования(в моем примере ввод новых работает, я не понимаю почему не пересчитывает редактируемые ячейки). Значения обеих ячеек после сохранения должны писаться в БД.
...
Рейтинг: 0 / 0
10.11.2014, 12:37
    #38800602
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемая колонка
ClavaМне необходимо при изменении значения (PRICE), от которого зависит вычисляемая колонка, значение в вычисляемой колонке (PRICE_NDS) менялись сразу, а не после update.
BindingSource.ResetBindings
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вычисляемая колонка / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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