第八章RWD進階設計第八章RWD進階設計\8-9 ServerMethod

8-9 ServerMethod

這一小節的内容為大家介紹如何使用ServerMethod。從Server端自定義取出資料,並在Client顯示。下面以rwdSingle1為例。

 

Step1>         首先我們找到dgMaster這個【DataGrid】元件,【ToolItems】屬性編輯器進入,我們添加一個按鈕,用來呼叫ServerMethod程式。

 

Step2>         Text】 屬性設定為"CallServerMethod",【onClick】輸入"CallServerMethod"。表示呼叫js的方法CallServerMethod

 

Step3>         接著,我們切換到原始碼頁,將下面這段代碼貼入:

function CallServerMethod(){

    var index = $('#dgMaster').datagrid('getSelectedIndex');

    if (index >= 0){

        var row = $('#dgMaster').datagrid('getRows')[index];//取得dgMaster上選中的一筆資料   

        $.callMethod('sRWDCustomers', 'testServerMethod', {CustomerID:row.客戶編號}, function(result){

            var param = $.parseJSON(result);

            var OrderID = "";

            if (param.length != 0 && param[0] != '0'){

                for(var i=0;i<param.length;i++)

                {

                    OrderID +=  param[i] ;

                }

                OrderID = OrderID.slice(0,-1);

                alert("出貨單:" + OrderID);

            }

            else{

                alert("無出貨單!");

            }

        })

    }

    else{

        alert("請先選擇一筆資料!");

    }

}

※裡面的callMethod方法內參數依序是:ServerModule的名字、ServerMethod的名字、上傳的參數(如果沒有的話可以填null)、Server端返回時的回調方法

 

 

Step4>         上面步驟完成後,來到Server端,在"sRWDCustomers"的【原始碼】頁中添加一個名為testServerMethod的方法。内容如下:

 

public object testServerMethod(dynamic objParam)

{  

    string str = objParam.CustomerID; //取得前端傳至後端的參數  

    string sql= "select 出貨編號 from 出貨單 where 客戶編號 = "; //SQL條件句   

    sql = sql + str;

    DataTable Tmp = ExecuteDataTable("ERPS", sql); //執行SQL"ERPS"為執行的資料庫   

    int count=Tmp.Rows.Count;

    string retval ="";

    if(count > 1){

       for(int i=0;i<count;i++){

            retval += Tmp.Rows[i]["出貨編號"].ToString()+",";

       }

    }else if(count == 1){

        retval = Tmp.Rows[0]["出貨編號"].ToString();

    }else{

        retval = "0";

    }

    object ret;

    ret = new object[] {retval};

    return ret;

}

 

Step5>         保存後執行結果:在DataGrid上選中一筆資料後,按下CallServerMethod按鈕,此時會回傳該公司在訂單表中所擁有的訂單號碼。。

 


 

Top of Page