0

我在尝试向数据表中的过滤器显示元素列表时遇到问题

我遵循本教程并尝试在数据表中过滤记录。

我有这个代码在我的控制器中返回列表:

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:对不起我的英语

4

1 回答 1

0

根据"sAjaxSource": "Cuentas/CargarCuentas",您应该调用CargarCuentas方法来获取 JSON 结果。它在哪里?

于 2012-06-20T14:42:07.797 回答