У меня была такая же проблема.
Лучшее, что я мог сделать, это создать div-обертку для div-элемента flexigrid и очищать обертку / пересоздавать flexigrid каждый раз, когда мне нужно было изменить colmodel. Что-то вроде:
$("#flexigridContainer").empty();
$("#flexigridContainer").append($("<div>").attr("id", "reporteFlexigrid"));
var report = $("#cmbValReports option:selected").attr("value");
var colModel;
switch(report){
case 1: url = ""; colModel = abonosFlexigridModel(); break;
case 2: url = ""; colModel = cgeneralFlexigridModel(); break;
case 3: url = ""; colModel = cccostoFlexigridModel(); break;
case 4: url = ""; colModel = prestamoFlexigridModel(); break;
}
initFlexigrid(url, colModel);
И initFlexigrid был чем-то вроде
function initFlexigrid(purl, pcolModel){
$("#reporteFlexigrid").flexigrid({url: purl, colModel: pcolModel, ... }); }
у меня сработало: -)