Попробуйте проверить тип массива, используя a=array('[0 1 2 3]', dtype='<U9')
Я смог повторить первые две ошибки. Если это так, попробуйте следующий
b=list(str(a))
newArray=[]
for val in b:
try:
newArray.append(int(val))
except ValueError:
pass
Python не изменит автоматически значение строки на int
или float
, как некоторые другие говорят. Надеюсь, это поможет
Принятие Вас имеет экземпляр DataTable myTable:
myTable.render () перерисует таблицу; myTable.initializeTable () сдует все состояние, включая виды и выборы и перерисовку
- Eric
Я думаю, он будет работать если ваша кнопка вызывает эту функцию:
myDataTable.getDataSource().sendRequest('',
{ success: myDataTable.onDataReturnInitializeTable,scope: myDataTable});
Я не смог найти метод, который Гурно опубликовано (о нем повсюду упоминается) для работы, поэтому я придумал этот небольшой прием:
function updateTable(){
sortState = theDataTable.getState().sortedBy
var sort = sortState ? sortState.key : "id";
var dir = sortState ? sortState.dir : "yui-dt-desc";
theDataTable.sortColumn(theDataTable.getColumn(sort),dir);
};
вы находите текущий метод сортировки, а затем вызываете sortColumn, сообщая ему о повторной сортировке, и он обновляет данные. это также поддерживает порядок нумерации страниц. Я использую это с полем поиска и некоторыми фильтрами, поэтому я могу изменить их значения и соответствующим образом обновить таблицу.
Я думаю, что ответ Гурно лучший, но в нем отсутствует одно приятное прикосновение. Чтобы отобразить сообщение «Загрузка ...», необходимо вызвать функцию showTableMessage.
myDataTable.showTableMessage("Loading...");
myDataTable.getDataSource().sendRequest('', { success: myDataTable.onDataReturnInitializeTable, scope: myDataTable });
По завершении запроса функция onDataReturnInitializeTable автоматически очищает сообщение таблицы.
Я также разместил это в своем блоге .