3

ここに私のコードがあります:

$('#flex1').flexigrid({
            method: 'POST',
            url: '/services/MHService.asmx/GetSurgicalHistory',
            dataType: 'xml',
            colModel: [
                    { display: 'Surgical Procedure', name: 'SurgicalProcedure', width: 120, sortable: true, align: 'left' },
                    { display: 'Notes', name: 'Notes', width: 120, sortable: true, align: 'left' },
                    { display: 'Complications', name: 'Complications', width: 120, sortable: true, align: 'left' }
                ],
            searchitems: [
                    { display: 'Surgical Procedure', name: 'SurgicalProcedure' },
                    { display: 'Notes', name: 'Notes' },
                    { display: 'Complications', name: 'Complications' }
                ],
            sortname: 'SurgicalProcedure',
            singleSelect: true,
            sortorder: 'asc',
            usepager: true,
            title: 'Surigcal History',
            useRp: true,
            rp: 10,
            showTableToggleBtn: true,
            width: 805,
            height: 200
        });

このコードが機能するようになりました。Web サービスでパラメーターを渡すにはどうすればよいですか? Flexigrid API で「data」パラメーターを探してみましたが、ないようです。

このようなもの:

            method: 'POST',
            url: '/services/MHService.asmx/GetSurgicalHistory',
            dataType: 'xml',
            data: '{ id: 23, area: "anywhere" }',
4

6 に答える 6

4

変化する:

data: '{ id: 23, area: "anywhere" }',

に:

params: [{name:'id', value: 23},{name:'area', value: 'anywhere'}],

または、新しいオプションでリロードする場合:

$("#flex1").flexOptions({params: [{name:'id', value: 23},{name:'area', value: 'anywhere'}]}).flexReload();
于 2011-09-19T08:29:21.110 に答える
3

params:オプションを使用して、追加のパラメーターを指定できます。flexigrid.jsの行615-618を見ると、コードがp.paramsの各項目をループし、デフォルトのリスト(page、rp、sortnameなど)に追加されていることがわかります。

于 2010-12-08T21:47:40.607 に答える
2

私がやったことは、flexigrid.jsの713行目でこれを追加しました

            for(opt in p.optional){
              param[param.length] = {name:opt,value:p.optional[opt]};
            }

それなら私はこのようなことをすることができます

 $('#flex1').flexigrid({
        method: 'POST',
        url: '/services/MHService.asmx/GetSurgicalHistory',
        dataType: 'xml',
        colModel: [
                { display: 'Surgical Procedure', name: 'SurgicalProcedure', width: 120, sortable: true, align: 'left' },
                { display: 'Notes', name: 'Notes', width: 120, sortable: true, align: 'left' },
                { display: 'Complications', name: 'Complications', width: 120, sortable: true, align: 'left' }
            ],
        searchitems: [
                { display: 'Surgical Procedure', name: 'SurgicalProcedure' },
                { display: 'Notes', name: 'Notes' },
                { display: 'Complications', name: 'Complications' }
            ],
        sortname: 'SurgicalProcedure',
        singleSelect: true,
        sortorder: 'asc',
        usepager: true,
        title: 'Surigcal History',
        useRp: true,
        rp: 10,
        showTableToggleBtn: true,
        width: 805,
        height: 200,
        optional: { id: 23, area: "anywhere" }
    });

それは素晴らしいことではありませんが、私は本当に他の方法を見つけることができました、そして私はすぐに新しいバージョンが出てくるのを見ません8 ^)

于 2010-08-06T15:19:25.320 に答える
1

ここでこれを試してください:

http://bargaorobalo.net/blog/flexigrid-passar-parametros

ポルトガル語ですが、json に追加パラメーターを渡すことを意味します。

useRp   : true,
rp  : 10,
params: [{name:'ID', value: 100}]

およびjson設定変数のRECEIVE:

$query     = isset($_POST['query'])     ? $_POST['query']    : false;
$qtype     = isset($_POST['qtype'])     ? $_POST['qtype']    : false;
$id = isset($_POST['ID']) ? $_POST['ID'] : NULL;

ここで、SQL CODE でこのパラメーターを使用するだけです。

$sql = "SELECT * FROM PROCEDURE_NAME(".$id.") $where $sort $limit";
$result = runSQL($sql);
于 2012-03-28T14:46:37.157 に答える
0

クリックイベントで特定の値のflexigridデータを読み込もうとした場合。これを試して、クエリ文字列を次のように使用できます

 var val1=value;
    url: '/services/MHService.asmx/GetSurgicalHistory?qurid='+val1,

Webサービスメソッドに移動し、文字列を使用してWebサービスから取得します

getvalue=HttpContext.Current.Request.QueryString["qurid"].ToString();

于 2011-12-29T12:25:58.317 に答える