powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вычисляемая колонка
9 сообщений из 9, страница 1 из 1
Вычисляемая колонка
    #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
Вычисляемая колонка
    #38798985
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Clava,

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

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


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