Перемешать строки в таблице

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
Подкиньте пожалста снипет, который перемешивает строки в таблице.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
var table = project.Tables["table"];
var tmplist = new List<IEnumerable<string>>();
while(table.RowCount > 0){
tmplist.Add(table.GetRow(0));
table.DeleteRow(0);
}
tmplist.Shuffle();
foreach(var list in tmplist)
table.AddRow(list);
 

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
У меня почему-то не работает. Скиньте кто-нибудь, пожалуйста, рабочий сниппет.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
наверно, тебе бы быстрее помогли, если бы ты скинул ошибку, которую выдаёт скрипт, а не просил новый код
 

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
если он не работает у тебя, значит он не рабочий?
Не факт, но может быть и такое. Разве нет?
наверно, тебе бы быстрее помогли, если бы ты скинул ошибку, которую выдаёт скрипт, а не просил новый код
Нет никаких ошибок. C# экшен выполняется успешно, но строки в таблице не перемешиваются.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
где смотришь результат?
Смотрю в PM и в ZP, ошибок нигде нет. Но только, что заметил, что в ZP, все нормально перемешивается, а в PM ничего не работает. Буду теперь значь, что не все C# сниппеты работают в PM, и обязательно проверять их работоспособность также и в ZP.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
как именно ты проверял в пм, перемешалась ли таблица?
 

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
1. Поставлена галка на сохранение изменений?
2. Изменения прописываются в таблицу не сразу. нужно подождать некоторое время
 

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
1. Поставлена галка на сохранение изменений?
2. Изменения прописываются в таблицу не сразу. нужно подождать некоторое время
Да галка поставлена. Про задержку я тоже знаю. Проверял многократно. Ничего не менялось. Сейчас же проверил, и все сработало нормально. Возможно версия, которая у меня установлена не совсем стабильна. Вообще последнее время у меня PM не всегда нормально работает. Например, недавно экшен директории постоянно выдавал мне неправильный список файлов. То есть по мимо находящийся в папке файлов он еще показывал уже удаленные ранее из этой папки файлы, а бывало и вообще файлы из других папок. Также, было такое, что не всегда срабатывали сниппеты эмулирующие нажатие ctrl+a и ctrl+v. А иногда PM и вовсе вылетает. Пробовал переустанавливать ZP, но особо не помогло. Может у меня с компом какие-то проблему, хз.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 792
Благодарностей
1 264
Баллы
113
А чем экшен для перемешивания плох?
 

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
В моей не обновленной версии ZP нет такого действия в экшене "Операции над таблицей".
Так и в крайней версии ZP пока нет такой функции. @one, видимо, перепутал со списком.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 792
Благодарностей
1 264
Баллы
113
В таблицах нет такой опции. В списках да. Я не вникал для чего нужно Вам перемешивание, в таблицах или списках.
 

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Благодарностей
19
Баллы
18
Здравствуйте. На однопотоке все было хорошо, а на многопотоке одна ячейка таблицы после перемешивания записывается в разные ячейки с разделителем "?": https://serp-nash.com/ftp/155614118586_kiss_19kb.png Определила, что русская буква "с" заменяется на знак вопроса и вместо нее происходит перенос оставшихся данных в соседнюю ячейку.
Кто-то сталкивался с таким? Почему так происходит, как исправить?
Использую код:
Код:
lock (SyncObjects.TableSyncer){
var table = project.Tables["Услуги"];
var tmplist = new List<IEnumerable<string>>();
for (int i = 1; i < table.RowCount;) {
    tmplist.Add(table.GetRow(i));
    table.DeleteRow(i);
}
tmplist.Shuffle();
foreach(var list in tmplist)
table.AddRow(list);
}
 

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Благодарностей
19
Баллы
18
Здравствуйте. На однопотоке все было хорошо, а на многопотоке одна ячейка таблицы после перемешивания записывается в разные ячейки с разделителем "?": https://serp-nash.com/ftp/155614118586_kiss_19kb.png Определила, что русская буква "с" заменяется на знак вопроса и вместо нее происходит перенос оставшихся данных в соседнюю ячейку.
Кто-то сталкивался с таким? Почему так происходит, как исправить?
Использую код:
Код:
lock (SyncObjects.TableSyncer){
var table = project.Tables["Услуги"];
var tmplist = new List<IEnumerable<string>>();
for (int i = 1; i < table.RowCount;) {
    tmplist.Add(table.GetRow(i));
    table.DeleteRow(i);
}
tmplist.Shuffle();
foreach(var list in tmplist)
table.AddRow(list);
}
Дело было не в многопотоке, а в плагине таблиц WP.
 

Castaneda

Client
Регистрация
24.05.2019
Сообщения
836
Благодарностей
282
Баллы
63
Здравствуйте. На однопотоке все было хорошо, а на многопотоке одна ячейка таблицы после перемешивания записывается в разные ячейки с разделителем "?": https://serp-nash.com/ftp/155614118586_kiss_19kb.png Определила, что русская буква "с" заменяется на знак вопроса и вместо нее происходит перенос оставшихся данных в соседнюю ячейку.
Кто-то сталкивался с таким? Почему так происходит, как исправить?
Использую код:
Код:
lock (SyncObjects.TableSyncer){
var table = project.Tables["Услуги"];
var tmplist = new List<IEnumerable<string>>();
for (int i = 1; i < table.RowCount;) {
    tmplist.Add(table.GetRow(i));
    table.DeleteRow(i);
}
tmplist.Shuffle();
foreach(var list in tmplist)
table.AddRow(list);
}
если запустить без лока, то список распидо**сит по всему району)))
 
  • Спасибо
Реакции: alya_6

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Благодарностей
19
Баллы
18

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