Как заполнить столбец таблички?

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Здравствуйте!
Есть табличка, с которой берутся значения переменных в многопоточном режиме и периодически каждый поток изменяет значения с 0 на 1 и наоборот.
Как в шаблоне заполнить целый столбик одним значением (например установить 1)?

Сейчас пока изменяю ячейки по строчкам. Но читал в инструкции что если нужно записать что либо в табличку - то лучше это делать одним действием. Может какой-то сниппет искать?
 

Вложения

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
пройдись по колонке по именно той какую задашь, и проставь 1
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Спасибо. Значит и дальше буду перебирать строчки в цикле.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Одним действием можно заполнить строку, но не столбец.
в цикле проходишь по столбцу а не по строчке и выставляешь везде 1 или 0, я это имел ввиду. но ни как по всей строке. так как в строке до кюя столбцов
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
в цикле проходишь по столбцу а не по строчке и выставляешь везде 1 или 0, я это имел ввиду. но ни как по всей строке. так как в строке до кюя столбцов
Я понял, что ты имеешь ввиду. Но это не одно действие, а N-е количество действий, выполненных в цикле.
В общем разобрались вроди как )
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
у меня даже такое решение было, но не знаю где искать, я во втором столбце 0 проставлял.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Сейчас у меня все работает так:
1. Создаю переменную Счетчик.
2. Получаю количество строк в табличке в переменную.
3. Проверяю ячейку N - если там 1 = устанавливаю 0, иначе - пропускаю.
4. Проверяю, если Счетчик < Количество строк - то увеличиваю Счетчик и возвращаюсь на действие 3. Иначе - выхожу с цикла.

Упростить это на сколько я понимаю никак нельзя...
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
в коде напиши там не сложно, и намного быстрее
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Здравствуйте!
Есть табличка, с которой берутся значения переменных в многопоточном режиме и периодически каждый поток изменяет значения с 0 на 1 и наоборот.
Как в шаблоне заполнить целый столбик одним значением (например установить 1)?
попробуй подойдёт это ?

C#:
    var sourceTable = project.Tables["ID_counter"];
   
    lock(SyncObjects.TableSyncer)
    {
        for(int i=0; i < sourceTable.RowCount; i++)
        {
            var cells = sourceTable.GetRow(i).ToArray();
            for (int j=0; j < cells.Length; j++)
            {
                if (cells[j].Contains("0"))
                {
                    sourceTable.SetCell("B", i, "1");
                }
            }
        }
    }
B - это столбик
 
  • Спасибо
Реакции: sentinel и BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
попробуй подойдёт это ?

C#:
    var sourceTable = project.Tables["ID_counter"];
  
    lock(SyncObjects.TableSyncer)
    {
        for(int i=0; i < sourceTable.RowCount; i++)
        {
            var cells = sourceTable.GetRow(i).ToArray();
            for (int j=0; j < cells.Length; j++)
            {
                if (cells[j].Contains("0"))
                {
                    sourceTable.SetCell("B", i, "1");
                }
            }
        }
    }
B - это столбик
Почему-то последняя ячейка этим способом всегда остаётся пустая
 

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