Member 13512434 Ответов: 1

Скрытие строк в представлении datagrid


У меня есть 2 сетки, одна показывает ордера, которые обрабатываются другой, ордера, которые находятся в ожидании; однако это, кажется, не работает, так как все данные в сетке появляются


foreach (DataGridViewRow dr in dataGridView4.Rows)
{
   int targetColumnIndex = 6;
   if (dr.Cells.Count > targetColumnIndex) // validate the index
      if (dr.Cells[targetColumnIndex].Value.ToString() == "Processing")
      {
         dr.Visible = false;
      }
}

foreach (DataGridViewRow dg in dataGridView1.Rows)
{
   int targetColumnIndex = 6;
   if (dg.Cells.Count > targetColumnIndex) // validate the index
      if (dg.Cells[targetColumnIndex].Value.ToString() == "Pending")
      {
         dg.Visible = false;
      }
}


Что я уже пробовал:

Переписывание кода
изменения по переработке / незавершенные

CHill60

Куда вы кладете этот код?

Member 13512434

Что значит, куда я кладу код?

Он идет ко дну ...
частная MainSystem_Load недействительным(объект отправителя, EventArgs в электронной)

если это ответ на ваш вопрос

CHill60

Да, это ответ на мой вопрос. Вы случайно не обновляете datagridview после этого кода? Когда вы отлаживаете, вы определенно попадаете в строку, которая устанавливает Visible = false?

Member 13512434

Я,

Теперь я получаю это сообщение...

Необработанное исключение типа 'System.InvalidOperationException' произошло в системе.Окна.Forms.dll

Дополнительная информация: строка, связанная с позицией валютного менеджера, не может быть сделана невидимой.

Member 13512434

не беспокойтесь, мне нужно было вставить ...
dataGridView1.CurrentCell = нуль;

Thava Rajan

Могу я узнать, как вы связываете сетку,
Будь то datatable или список объектов

Member 13512434

по базе данных

1 Ответов

Рейтинг:
0

Maciej Los

Член 13512434 написал:

Я,

Теперь я получаю это сообщение...

Необработанное исключение типа 'System.InvalidOperationException' произошло в системе.Окна.Forms.dll

Дополнительная информация: строка, связанная с позицией валютного менеджера, не может быть сделана невидимой.


Похоже, ваш datagridview привязан к источнику данных. Ну, я бы настоятельно рекомендовал фильтровать источник привязки вместо того, чтобы скрывать строки datagridview.

Если вы все еще хотите скрыть строки, вам нужно добавить пользовательское свойство в bindingsource. Пожалуйста, обратитесь к этим:
c# Как скрыть строку в DataGridView с помощью DataSource - Stack Overflow[^]
c# - скрыть строку в DataGridView с привязкой, не работающей в моем проекте - переполнение стека[^]