powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGridView: уснановить значение ячейки после сортировки
4 сообщений из 4, страница 1 из 1
DataGridView: уснановить значение ячейки после сортировки
    #39082737
the_sid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Кладу DataTable в DataSource грида:
Код: c#
1.
gvInvest.DataSource = SQLWorking.queryToDataTable(String.Format("EXEC {0}[KSU_SelectOldF16] @Inn='{1}'", FMain.func.sBaseName, cbClient.SelectedValue));



Затем при щелчке на определённой строке ставится или снимается галочка в чекбокс одной из ячйкек:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
private void gvInvest_MouseClick(object sender, MouseEventArgs e)
    {
      var gv = gvInvest;
      gv.Refresh();
      if (gv.Rows.Count == 0) return;
      DataGridViewRow row = gv.SelectedRows[0];
      if (gv[4, row.Index].Value != null)
      {
        if ((bool)gv[4, row.Index].Value == false)
          gv[4, row.Index].Value = true;
        else gv[4, row.Index].Value = false;
      }
    }



После того как произведена сортировка по любому из столбцов в событии gvInvest_MouseClick в объекте gv[4, row.Index].Value оказывается всегда null и соответственно установка/снятие галки не работает.
Как можно установить/снять галку после сортировки?
...
Рейтинг: 0 / 0
DataGridView: уснановить значение ячейки после сортировки
    #39083254
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
the_sid,
подключи событие _CellClick, вместо _MouseClick
не вникал в суть, чуть подправил на коленке:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
private void gvInvest_CellClick(object sender, DataGridViewCellEventArgs e)//_MouseClick(object sender, MouseEventArgs e)
    {
if (e.RowIndex > -1)
{

      var gv = sender as DataGridView;//gvInvest;
      //gv.Refresh();
      if (gv.Rows.Count == 0) return;
      DataGridViewRow row = gv.gv.CurrentRow; // SelectedRows[0];
row.Cells[4].Value = !(bool)row.Cells[4].Value;
      //if (gv[4, row.Index].Value != null)
     //{
     //   if ((bool)gv[4, row.Index].Value == false)
     //     gv[4, row.Index].Value = true;
     //   else gv[4, row.Index].Value = false;
     // }
}
    }



...
...
Рейтинг: 0 / 0
DataGridView: уснановить значение ячейки после сортировки
    #39083266
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WitC,
эту строчку тоже можно убрать...
Код: c#
1.
if (gv.Rows.Count == 0) return;
...
Рейтинг: 0 / 0
DataGridView: уснановить значение ячейки после сортировки
    #39083802
the_sid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело было в том, что столбец с чекбоксом я добавил только в DataGridView. Надо было добавить ещё и в DataTable подаваемом ему(DataGridView) в DataSource.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGridView: уснановить значение ячейки после сортировки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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