|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
Проблема такая - Если я программно меняю значение ячейки в DataGridView, то изменения не передаются в DataTable (источник). Они передаются только в том случае, если я кликаю на другую ячейку. А мне нужно программно изменить значение ячейки и применить ее. Какой метод должен быть вызван или что нужно сделать после программного изменения значения ячейки в datagridview? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2016, 19:58 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675, dataTable.AcceptChanges() ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 08:36 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
причем тут datatable - проблема то в том то и состоит что после программного изменения ячейки оно не передается в datatable, а вот если щелкнуть по другой ячейке то передается. Да и метод этот сбросит все изменения в плане я не узнаю что добавлено что удалено или изменено и не смогу применить к Update БД. В общем это не то! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 10:17 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
Решил простым добавлением новой записи и тут же ее удалением из datagridview. Понимаю что должно наверно быть как-то по другому - но так работает на 100%. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 11:53 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675, EndEdit() пробовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 12:24 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675, нужно по сути выйти из ячейки и снова войти в нее. Поможет еще такой костыль- меняешь CurrentRow.Cells(j) на соседнюю и потом возвращаешься в текущую ячейку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 12:41 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
romangr, Да пробовал я уже всяческие и в том числе и этот вариант - ничего не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 18:49 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
vb_sub, До этого так и делал - однако если строка с одним столбцом - фокус то некуда передавать - да кроме этого нужно еще всегда определять куда передать фокус - выяснить куда есть возможность его передать - это уже целый алгоритм. Уж проще добавить и удалить работает на 100%. Однако странно что нет нормального решения этому - мне кажется я не первый с этим сталкиваюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 18:52 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675vb_sub, До этого так и делал - однако если строка с одним столбцом - фокус то некуда передавать - да кроме этого нужно еще всегда определять куда передать фокус - выяснить куда есть возможность его передать - это уже целый алгоритм. Уж проще добавить и удалить работает на 100%. Однако странно что нет нормального решения этому - мне кажется я не первый с этим сталкиваюсь. Продолжайте есть кактус ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:15 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675, datagridview.Update() datagridview.EndEdit() пробовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:15 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
vb_subskais675, datagridview.Update() datagridview.EndEdit() пробовал? Так тоже не работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:25 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
Cat2, Не понимаю Вас, предложите не можете решение, а надсмехаетесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:27 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675Cat2, Не понимаю Вас, предложите не можете решение, а надсмехаетесь? Я предложил Вам сделать dataTable.AcctptChanges, но Вы были этим возмущены ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:49 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
Cat2, у себя тоже пробовал через dataTable.AcceptChanges, но не получается- видимо пока ячейка находится в режиме редактирования, изменения из нее в datatable не переносятся, соответственно и фиксировать их методом dataTable.AcceptChanges не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 09:47 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
vb_sub, Попробуйте сразу после изменения ячейки DataGridView.EndEdit() или Bindingsource.EndEdit() ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 11:10 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
Cat2, не знаю на счет DataGridView, а так не все контролы сразу передают изменения в источник, потому все эти EndEdit источника ничего не даст. Что бы их заставить это делать надо напрямую работать с Binding, если нет настроек у самих контролов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 17:49 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
ViPRosCat2, не знаю на счет DataGridView, а так не все контролы сразу передают изменения в источник, потому все эти EndEdit источника ничего не даст. Что бы их заставить это делать надо напрямую работать с Binding, если нет настроек у самих контролов. Потому что менять "программно" значения нужно в DataTable, почему нубам это никто на это не указывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 00:42 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675, попробовал привязать datagridwiev через bindingsource по совету кота второго и нормально заработал datagridwiev.endedit. Конкретно в твоем случае действительно не понятно, зачем программно менять значение в datagridwiev, чтобы оно передалось в datatable, если можно сразу в datatable поменять значение и оно отобразится в datagridwiev. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2016, 13:07 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
vb_sub, Потому как выделена строк dg а dt откуда мне знать какая она чтобы поменять? То есть где привязка строки dg к строке dt? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2016, 12:33 |
|
Datagridview1 программно изменить значение ячейки - C#
|
|||
---|---|---|---|
#18+
skais675, костыльно связывать datatable a datagridwiev можно через id datatable. Через datagridwiev.datasource=datatable столбец id попадает в datagridwiev, делаешь его скрытым,чтобы глаза не резал и потом через свойство текущей строки Код: vbnet 1.
, где первый столбец в datatable у тебя id, ты получаешь текущий id обрабатываемой строки. Нормально же связывать нужно, как сказал CAT2 через binding source, но я пока не нашел, как можно не передавать id столбец в datagridwiev, и при этом знать текущий id в datatable. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2016, 11:08 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1400226]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 276ms |
total: | 424ms |
0 / 0 |