Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建可重用的ig网格_Javascript_Model View Controller_Infragistics_Ignite Ui_Iggrid - Fatal编程技术网

Javascript 如何创建可重用的ig网格

Javascript 如何创建可重用的ig网格,javascript,model-view-controller,infragistics,ignite-ui,iggrid,Javascript,Model View Controller,Infragistics,Ignite Ui,Iggrid,我搜索了一个示例,但没有找到。我的目标是通过传递不同的变量来重用CreateGrid方法。我的问题是无法在网格中动态设置列。我不知道如何传递columns变量。如果有人知道,请提交一个例子或指导我一个例子。感谢您的帮助 谢谢 例如: $(document).ready(function () { var blnAuto = false; var dogs = @Html.Raw(Json.Encode(Model.DogList));

我搜索了一个示例,但没有找到。我的目标是通过传递不同的变量来重用CreateGrid方法。我的问题是无法在网格中动态设置列。我不知道如何传递columns变量。如果有人知道,请提交一个例子或指导我一个例子。感谢您的帮助

谢谢

例如:

   $(document).ready(function () {      
        var blnAuto = false;


        var dogs = @Html.Raw(Json.Encode(Model.DogList));
        var gridA = "#gridDog";
        var dogColumns =  '{ key: "Type", headerText: "Type", dataType: "string", width: "50%"},{ key: "Name", headerText: "Name", dataType: "string", width: "50%" }'

        CreateGrid(dogs, gridA, blnAuto,  dogColumns);

        var cars = @Html.Raw(Json.Encode(Model.CarList));
        var  gridB = "#gridCar";
        var carColumns =  '{ key: "Make", headerText: "Make", dataType: "string", width: "34%"},{ key: "Model", headerText: "Model", dataType: "string", width: "33%" }, { key: "Year", headerText: "Year", dataType: "string", width: "33%"}'

        CreateGrid(cars, gridB, blnAuto, carColumns)           
    })



    function CreateGrid(data, grid, autoGen, columnVariable)
    {
        var bln = false;


            $(grid).igGrid({
                width: "100%",
                dataSource: data,
                dataSourceType: "json",
                autoGenerateColumns: bln,
                columns: [ columnVariable ],
                features: [
                    {
                        name: "Sorting",
                        type: "local",
                        applySortedColumnCss: false,
                        sortedColumnTooltip: "",
                        unsortedColumnTooltip: ""
                    }
                ]
            });
    }
    </script>
$(文档).ready(函数(){
var blnAuto=假;
var dogs=@Html.Raw(Json.Encode(Model.DogList));
var gridA=“#gridDog”;
var dogColumns='{key:“Type”,headerText:“Type”,dataType:“string”,width:“50%”,{key:“Name”,headerText:“Name”,dataType:“string”,width:“50%”
CreateGrid(dogs、gridA、blnAuto、dogColumns);
var cars=@Html.Raw(Json.Encode(Model.CarList));
var gridB=“#gridCar”;
var carColumns='{key:“Make”,headerText:“Make”,数据类型:“string”,宽度:“34%”,{key:“Model”,headerText:“Model”,数据类型:“string”,宽度:“33%”,{key:“Year”,headerText:“Year”,数据类型:“string”,宽度:“33%”
CreateGrid(汽车、网格、blnAuto、汽车列)
})
函数CreateGrid(数据、网格、自动生成、columnVariable)
{
var-bln=假;
$(网格).igGrid({
宽度:“100%”,
数据源:数据,
数据源类型:“json”,
自动生成列:bln,
columns:[columnVariable],
特点:[
{
名称:“排序”,
类型:“本地”,
applySortedColumnCss:false,
SortedColumn工具提示:“”,
未排序列工具提示:“
}
]
});
}

我很尴尬,因为我没有注意到列是一个数组。 设置列,例如:

var carColumns =  [
    { key: "Make", headerText: "Make", dataType: "string", width: "34%" },
    { key: "Model", headerText: "Model", dataType: "string", width: "33%" },
    { key: "Year", headerText: "Year", dataType: "string", width: "33%"}
]

var dogColumns = [
    { key: "Type", headerText: "Type", dataType: "string", width: "50%" },
    { key: "Name", headerText: "Name", dataType: "string", width: "50%" }
]

希望它能帮助其他人。

我的标题应该是“如何创建可重用的ig网格函数”,因为我不会使用相同的网格,而是实际的方法。