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

backoff

Client
Регистрация
20.04.2015
Сообщения
5 927
Благодарностей
6 389
Баллы
113
Имеем таблицу с акками, где столбец E - это статус аккаунта
Как взять все строки где статус = пустоте?
перенести в другую таблицу, отдельную, для дальнейшей работы
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
C#:
var table1 = project.Tables["table1"];
var table2 = project.Tables["table2"];

table1.GetItems("all", true).Select(x=> x.ToArray()).ToList().ForEach(row =>
{
    if (row.Length > 4 && !string.IsNullOrEmpty(row[4])) table1.AddRow(row);
    else table2.AddRow(row);
});
 
Последнее редактирование:
  • Спасибо
Реакции: backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
5 927
Благодарностей
6 389
Баллы
113
Надо из таблицы Done перенести в таблицу TMP

при таком раскладе
C#:
var table1 = project.Tables["Done"];
var table2 = project.Tables["TMP"];

table1.GetItems("all", true).Select(x=> x.ToArray()).ToList().ForEach(row =>
{
    if (string.IsNullOrEmpty(row[4])) table2.AddRow(row);
    else table1.AddRow(row);
});
пишет
12:31:58 Выполнение действия CSharp OwnCode. [Строка: 6; Cтолбец: 4] Индекс находился вне границ массива.
и при этом удаляет все строки из таблицы, или не все, бывает остается 1-2

ps \ пока единственное что придумал - это брать построчно и проверять переменную "статус", но на кубиках не хочется
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Случайно ячейки в последней колонке не пустые?
 
Последнее редактирование:

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Надо из таблицы Done перенести в таблицу TMP

при таком раскладе
C#:
var table1 = project.Tables["Done"];
var table2 = project.Tables["TMP"];

table1.GetItems("all", true).Select(x=> x.ToArray()).ToList().ForEach(row =>
{
    if (string.IsNullOrEmpty(row[4])) table2.AddRow(row);
    else table1.AddRow(row);
});
пишет
12:31:58 Выполнение действия CSharp OwnCode. [Строка: 6; Cтолбец: 4] Индекс находился вне границ массива.
и при этом удаляет все строки из таблицы, или не все, бывает остается 1-2

ps \ пока единственное что придумал - это брать построчно и проверять переменную "статус", но на кубиках не хочется
Подредактировал свое сообщение выше. Видимо, не берутся в массив пустые ячейки. Дополнительная проверка на количество столбцов должна решить эту проблему. Можно и лог добавить, конечно... лень писать.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 927
Благодарностей
6 389
Баллы
113
Случайно ячейки последней колонке не пустые?
есть пустые, есть не пустые


вот для примера файл
надо перенести в таблицу TMP первые 3 строки, так как у них пустой статус

сейчас нет ошибки, но и не переносит
 

Вложения

  • Спасибо
Реакции: Alexmd

xASZx

Client
Регистрация
24.11.2017
Сообщения
70
Благодарностей
15
Баллы
8
C#:
var tab1 = project.Tables["Tab"];
var tab2 = project.Tables["new"];

for(int row = 0; row < tab1.RowCount; row++)
{
    if(String.IsNullOrEmpty(tab1.GetCell("E", row)))
    {
        tab2.AddRow(tab1.GetRow(row));
    }
}
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
есть пустые, есть не пустые


вот для примера файл
надо перенести в таблицу TMP первые 3 строки, так как у них пустой статус

сейчас нет ошибки, но и не переносит
подредактировал еще раз. проверил. невнимательность и спешка. сорри
 
  • Спасибо
Реакции: backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
5 927
Благодарностей
6 389
Баллы
113
  • Спасибо
Реакции: Alexmd

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