1 (2017-01-10 19:00:49 отредактировано Optimus1)

Тема: Сортировка таблицы

Здравствуйте,

Подскажите пожалуйста, не могу разобраться с простой вещью, вот создал я таблицу:

function CreateTable()

t_id = AllocTable();

AddColumn(t_id, 0, "Код Бумаги", true, QTABLE_INT_TYPE, 15)
AddColumn(t_id, 1, "Условие", true, QTABLE_INT_TYPE, 15)

t = CreateWindow(t_id);

SetWindowCaption(t_id, "Таблица оповещения");

for i=0, 20, 1 do
InsertRow(t_id, -1);

end;

После выполнения условия в таблицу записывается текст выполненного условия, к примеру в 3 и 10 строку таблицы:

SetCell(t_id, 3, 2, "текст условия")
SetCell(t_id, 10, 2, "текст условия")

Вот вопрос: можно ли такую созданную таблицу с уже отраженными в этой таблице данными(некоторые условия уже выполнились) - отсортировать, то есть чтобы все заполненные строки были вверху таблицы, а все не заполненные снизу соответственно ??

Вроде бы есть функция table.sort (), но ума не приложу, как ее использовать применительно к моему случаю.

2

Re: Сортировка таблицы

Не не,  table.sort () - она про таблицу в терминах языка Lua.
А тут вы про визуальную, отображаемую таблицу говорите (ужасно неудачное наложение терминологии).

Вашу задачу можно решить, если при добавлении новой строки программно (в вашей программе) информацию во всех строках переносить на строку вниз и в верхнюю строку прописывать то, что вам нужно.

3

Re: Сортировка таблицы

А как в том же окошке сортировать переменные i и t по возрастанию, чтобы 0 в начале столбца и далее.

SetCell(t_id, 3, 2, i)
SetCell(t_id, 10, 2, t)

Если это трудно и долго, то хоть подскажите примерно как это сделать?

4 (2017-01-23 21:35:50 отредактировано kalikazandr)

Re: Сортировка таблицы

zyanov пишет:

А как в том же окошке сортировать переменные i и t по возрастанию, чтобы 0 в начале столбца и далее.

SetCell(t_id, 3, 2, i)
SetCell(t_id, 10, 2, t)

Если это трудно и долго, то хоть подскажите примерно как это сделать?

по столбцам делаете отдельные массивы, в них выполняете сортировку, меняете значение таблицы относительно отсортированных массивов, короче все данные отображаемые нужно хранить в еще одной табличке, отсортировав которую, отсортируете и визуальную.