Работа с таблицей - пустые ячейки

one

Client
Регистрация
22.09.2015
Сообщения
6 831
Благодарностей
1 273
Баллы
113
Уже интересовался данным вопросом, но по моему так и не получил ответа. Задам еще раз т.к. он стал актуален опять.

Если во всех ячейках таблицы есть данные, то сниппет отрабатывает корректно. Если в последней колонке нет данных, то выдает ошибку.

Выполнение действия CSharp OwnCode Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Как быть что бы отрабатывал снипет без ошибки? Я так понимаю проблема именно в том, что в ячейках последней колонки нет данных. Они пусты.

Использую данный снипет.
Код:
lock(SyncObjects.TableSyncer){
   
    // берем первую строку с удалением и раскидываем значения по переменным
    var row = project.Tables["AccountsList"].GetRow(0).ToList();
    project.Tables["AccountsList"].DeleteRow(0);
    project.Variables["Variables1"].Value = row[0];
    project.Variables["Variables2"].Value = row[1];
    project.Variables["Variables3"].Value = row[2];
    project.Variables["Variables4"].Value = row[3];
    project.Variables["Variables5"].Value = row[4];
}
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
GetRow возвращает коллекцию, в которой запрошенный тобой индекс отсутствует. Проверяй кол-во в ней заранее.
Либо пробуй GetCell.
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 831
Благодарностей
1 273
Баллы
113
Мне надо получать именно строку и из нее раскидывать данные и ячеек по переменным.
Проверяй кол-во в ней заранее.
А смысл? Мне строку надо получить не зависимо пусто в последней ячейке или нет.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
Что бы шаб по ошибке не валился...
Если кол-во 6, то после последней (5-той) явно пустые ячейки.
Мне строку надо получить не зависимо пусто в последней ячейке или нет.
GetCell должен лучше подойти, но там бага с цифрами была/есть (пустоту возвращал, вроде), надёжнее буквы использовать.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 831
Благодарностей
1 273
Баллы
113

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