Как удалить из таблицы строки, где есть хоть одна пустая ячейка?

Axel

Client
Регистрация
20.03.2017
Сообщения
148
Благодарностей
7
Баллы
18
Подскажите, как удалить з таблицы строки, где есть хоть одна пустая ячейка, можно ли это сделать?
Вижу удаление строк по принципу если вся строка "содержит только пробельные символы", но это не то. Нужно именно удалять где хоть в одной ячейке в строке пусто.
 

SanchoPancho

Client
Регистрация
09.12.2015
Сообщения
171
Благодарностей
84
Баллы
28
C#:
for (int i = project.Tables["MyTable"].Rows.Count - 1; i >= 0; i--)
{
    var row = project.Tables["MyTable"].Rows[i];
    bool hasEmpty = false;

    foreach (var cell in row.ItemArray)
    {
        if (string.IsNullOrWhiteSpace(cell.ToString()))
        {
            hasEmpty = true;
            break;
        }
    }

    if (hasEmpty)
        project.Tables["MyTable"].Rows.RemoveAt(i);
}
 
  • Спасибо
Реакции: Axel

Axel

Client
Регистрация
20.03.2017
Сообщения
148
Благодарностей
7
Баллы
18
Выдало
Компиляция кода Ошибка в действии "CS1061" "'IZennoTable' does not contain a definition for 'Rows' and no accessible extension method 'Rows' accepting a first argument of type 'IZennoTable' could be found (are you missing a using directive or an assembly reference?)". [Строка: 16; Cтолбец: 34]
 

SanchoPancho

Client
Регистрация
09.12.2015
Сообщения
171
Благодарностей
84
Баллы
28
Вот этот код пробуйте

C#:
var table = project.Tables["MyTable"];
int rowCount = table.GetRowCount();

for (int i = rowCount - 1; i >= 0; i--)
{
    bool hasEmpty = false;

    for (int j = 0; j < table.ColumnCount; j++)
    {
        if (string.IsNullOrWhiteSpace(table.GetValue(i, j)))
        {
            hasEmpty = true;
            break;
        }
    }

    if (hasEmpty)
        table.RemoveRow(i);
}
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)