powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Datagridview1 программно изменить значение ячейки - C#
20 сообщений из 20, страница 1 из 1
Datagridview1 программно изменить значение ячейки - C#
    #39341908
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема такая - Если я программно меняю значение ячейки в DataGridView, то изменения не передаются в DataTable (источник). Они передаются только в том случае, если я кликаю на другую ячейку. А мне нужно программно изменить значение ячейки и применить ее.
Какой метод должен быть вызван или что нужно сделать после программного изменения значения ячейки в datagridview?
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342032
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skais675,

dataTable.AcceptChanges()
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342050
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
причем тут datatable - проблема то в том то и состоит что после программного изменения ячейки оно не передается в datatable, а вот если щелкнуть по другой ячейке то передается. Да и метод этот сбросит все изменения в плане я не узнаю что добавлено что удалено или изменено и не смогу применить к Update БД. В общем это не то!
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342068
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил простым добавлением новой записи и тут же ее удалением из datagridview. Понимаю что должно наверно быть как-то по другому - но так работает на 100%.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342073
romangr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skais675,
EndEdit() пробовал?
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342076
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skais675, нужно по сути выйти из ячейки и снова войти в нее. Поможет еще такой костыль- меняешь CurrentRow.Cells(j) на соседнюю и потом возвращаешься в текущую ячейку.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342170
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
romangr,
Да пробовал я уже всяческие и в том числе и этот вариант - ничего не работает.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342171
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_sub,
До этого так и делал - однако если строка с одним столбцом - фокус то некуда передавать - да кроме этого нужно еще всегда определять куда передать фокус - выяснить куда есть возможность его передать - это уже целый алгоритм. Уж проще добавить и удалить работает на 100%. Однако странно что нет нормального решения этому - мне кажется я не первый с этим сталкиваюсь.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342180
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skais675vb_sub,
До этого так и делал - однако если строка с одним столбцом - фокус то некуда передавать - да кроме этого нужно еще всегда определять куда передать фокус - выяснить куда есть возможность его передать - это уже целый алгоритм. Уж проще добавить и удалить работает на 100%. Однако странно что нет нормального решения этому - мне кажется я не первый с этим сталкиваюсь.
Продолжайте есть кактус
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342181
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skais675,
datagridview.Update()
datagridview.EndEdit()
пробовал?
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342183
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_subskais675,
datagridview.Update()
datagridview.EndEdit()
пробовал?
Так тоже не работает!
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342184
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,
Не понимаю Вас, предложите не можете решение, а надсмехаетесь?
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342189
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skais675Cat2,
Не понимаю Вас, предложите не можете решение, а надсмехаетесь?
Я предложил Вам сделать dataTable.AcctptChanges, но Вы были этим возмущены
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342365
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
у себя тоже пробовал через dataTable.AcceptChanges, но не получается- видимо пока ячейка находится в режиме редактирования, изменения из нее в datatable не переносятся, соответственно и фиксировать их методом dataTable.AcceptChanges не получается.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342438
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vb_sub,

Попробуйте сразу после изменения ячейки DataGridView.EndEdit() или Bindingsource.EndEdit()
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39342835
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

не знаю на счет DataGridView, а так не все контролы сразу передают изменения в источник, потому все эти EndEdit источника ничего не даст.
Что бы их заставить это делать надо напрямую работать с Binding, если нет настроек у самих контролов.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39343026
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosCat2,

не знаю на счет DataGridView, а так не все контролы сразу передают изменения в источник, потому все эти EndEdit источника ничего не даст.
Что бы их заставить это делать надо напрямую работать с Binding, если нет настроек у самих контролов.

Потому что менять "программно" значения нужно в DataTable, почему нубам это никто на это не указывает?
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39344159
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skais675,
попробовал привязать datagridwiev через bindingsource по совету кота второго и нормально заработал datagridwiev.endedit. Конкретно в твоем случае действительно не понятно, зачем программно менять значение в datagridwiev, чтобы оно передалось в datatable, если можно сразу в datatable поменять значение и оно отобразится в datagridwiev.
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39346073
skais675
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_sub,

Потому как выделена строк dg а dt откуда мне знать какая она чтобы поменять? То есть где привязка строки dg к строке dt?
...
Рейтинг: 0 / 0
Datagridview1 программно изменить значение ячейки - C#
    #39346677
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skais675,
костыльно связывать datatable a datagridwiev можно через id datatable. Через datagridwiev.datasource=datatable столбец id попадает в
datagridwiev, делаешь его скрытым,чтобы глаза не резал и потом через свойство текущей строки
Код: vbnet
1.
datagridwiev.CurrentRow.Cells(0).Value

, где первый столбец в datatable у тебя id, ты получаешь текущий id обрабатываемой строки.
Нормально же связывать нужно, как сказал CAT2 через binding source, но я пока не нашел, как можно не передавать id столбец в datagridwiev, и при этом знать текущий id в datatable.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Datagridview1 программно изменить значение ячейки - C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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