0

私はjqwidgets を使用して、以下に説明するようにグリッドをバインドしています。

var url = "sampledata/customers.xml";
var parentsLength = $("#jqxWidget").parents().length;
if (parentsLength > 3) {
    url = 'sampledata/customers.xml';
}

// prepare the data
var source = {
    datatype: "xml",
    datafields: [
        { name: 'CompanyName', map: 'm\\:properties>d\\:CompanyName' },
        { name: 'ContactName', map: 'm\\:properties>d\\:ContactName' },
        { name: 'ContactTitle', map: 'm\\:properties>d\\:ContactTitle' },
        { name: 'City', map: 'm\\:properties>d\\:City' },
        { name: 'PostalCode', map: 'm\\:properties>d\\:PostalCode' },
        { name: 'Country', map: 'm\\:properties>d\\:Country' }
    ],
    root: "entry",
    record: "content",
    id: 'm\\:properties>d\\:CustomerID',
    url: url
};

// Create jqxGrid
$("#jqxgrid").jqxGrid(
{
    width: 670,
    source: source,
    theme: theme,
    columnsresize: true,
    columns: [
        { text: 'Company Name', datafield: 'CompanyName', width: 250 },
        { text: 'Contact Name', datafield: 'ContactName', width: 150 },
        { text: 'Contact Title', datafield: 'ContactTitle', width: 180 },
        { text: 'City', datafield: 'City', width: 120 },
        { text: 'Postal Code', datafield: 'PostalCode', width: 90 },
        { text: 'Country', datafield: 'Country', width: 100 }
    ]
});

しかし今、私は未知の列と行を含む動的グリッドを持っています。どうすればバインドできますか?XML形式のグリッドデータを取得するためにWebサービスを呼び出しています。

4

1 に答える 1

0

おそらく、jqxDataAdapterプラグインを使用して、ソースオブジェクトをパラメーターとしてデータアダプターに渡すことができます。次に、グリッドのsourceプロパティを、ソースを直接指すのではなく、dataAdapterを指すように設定します。jqxDataAdapterのloadComplete関数呼び出しで、columns配列を作成し、それをグリッドに渡します。

そんな感じ:

$("#jqxgrid").jqxGrid({columns: myColumnsArray});
于 2012-06-22T05:11:53.313 に答える