Я использую canMoveRowAt () и moveRowAt () для отображения маркеров перетаскивания в моих строках. В canMoveRowAt я тестирую условие на основе некоторых данных строки:
... get reference to row data ...
return rowData.myCondition()
Это прекрасно работает, когда таблица впервые переведена в режим редактирования. , Однако, находясь в режиме редактирования, данные в строке могут измениться (хотя это все еще та же строка). Я хотел бы повторно запустить canMoveRowAt, чтобы переоценить условие и, возможно, изменить, будет ли показан указатель перетаскивания для строки.
До сих пор мне удавалось сделать это только путем завершения и перезапуска режима редактирования. Когда я делаю это, он очищает выборки в таблице, поэтому я должен сохранить и повторно применить их. Это похоже на хак.
Есть ли более элегантный способ повторно вызвать canMoveRowAt, чтобы избежать этого?