我在尝试向数据表中的过滤器显示元素列表时遇到问题。
我遵循本教程并尝试在数据表中过滤记录。
我有这个代码在我的控制器中返回列表:
public JsonResult grupMonedas()
{
IList<MONEDA> temp = (from c in db.MONEDA
select c).ToList();
var result = from c in temp
select new String[] { c.NOMBREMONEDA };
return Json(result);
}
这是我制作数据表和过滤器的javascript:
$(document).ready(function () {
//Nombre en la tabla donde se ejecutara
var oCuentas = $('#tablaCuentas').dataTable({
//Es el que emplementa para trabajar con la pagina
"bServerSide": true,
//Metodo el qual se ejecutara
"sAjaxSource": "Cuentas/CargarCuentas",
//Mensaje cargado
"bProcessing": true,
"bJQueryUI": true,
//Columnas que cargara
"aoColumns": [
//Las columnas tienen que coincidir con la base de datos
{"sName": "NUMCUENTA" }, { "sName": "NOMBRECUENTA" }, { "sName": "SALDO" }, { "sName": "Moneda" }
],
//Mostrar Diferentes opciones
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true
}).columnFilter({
"aoColumns": [
{ sSelector: "#numeroFiltro", type: "number" },
{ sSelector: "#nombreFiltro", type: "text" },
{ sSelector: "#saldoFiltro", type: "number-range" },
{ sSelector: "#monedaFiltro", type: "select", values: grupMonedas() }
]
});
});
function validateJSON(x) {
var orig = x;
var stgify = JSON.stringify(orig);
var splitchar = ['\\"', '\',\'', '[', ']', '\"'];
var joinchar = ['\'', '\':\'', '', '', ''];
for (i = 0; i < 5; i++) {
stgify = stgify.split(splitchar[i]);
tmp = stgify.join(joinchar[i]);
stgify = tmp;
}
stgify = "[" + stgify + "]";
var finalEdit = stgify;
//alert(finalEdit); <- returns a ok list of elements :S
return finalEdit;
}
function grupMonedas() {
$.post('Cuentas/grupMonedas', {},
function (data) {
grupMonedas = validateJSON(data);
},
'json/javascript'
);
return grupMonedas;
}
但是在选择“Moneda”的过滤器中只放一个“标题”,仅此而已,没有在列表中创建的元素。
提前致谢。
PS:对不起我的英语