附錄\F. Q&A

F. Q&A

QDatebox如何使用varchar(8)類型的欄位?

ADateTime如果使用Varchar(8)時,可以在Editordatebox時,設定EditorOptionsdateFormat:'nvarchar'即可。

 

Q:何在開啟Form之後設定setwhere,然後datagrid再將符合條件的資料帶出來?

A:可以通過在Page第一次運行時,下一個條件。同時,在查詢時也將這個條件加入進去即可。

               $(document).ready(function () {

             $("#dataGridMaster").datagrid('setWhere', "EmployeeID=3");

        });

 

        function queryGrid(dg)

        {

            if ($(dg).attr('id') == 'dataGridMaster')

            {

                var where = $(dg).datagrid('getWhere');

                if (where.length > 0) {

                    where = where + " and EmployeeID=3";

                }

                else {

                    where = "EmployeeID = 3";

                }

                //alert(where);

                $(dg).datagrid('setWhere', where);

            }

        }

 

QServer Method的使用?

ARemote(IIS)呼叫 Server Method.

public object CallMethod()

    {

        List<object> list = new List<object>();

        list.Add("test");

        object ret = EFClientTools.ClientUtility.CallMethod("sOrders", "SharpServerMethod", list);//第一個參數Server專案名稱,第二個參數為Method名稱,第三個參數為傳入Serverlist參數

        return ret;

    }

  Client(JS)呼叫Server Method.

function CallMethod() {

            var ret;

            $.ajax({

                type: "POST",

                url: '../handler/JQDataHandle.ashx?RemoteName=sOrders.Orders', //連接的Server端,command

                data: "mode=method&method=" + "SharpServerMethod" + "&parameters=test", //method後的參數為serverMethod名稱  parameters後為端的到後端的參數

                cache: false,

                async: false,

                success: function (data) {

                    ret = data;

                }

            });

            return ret;

        }

 

Q:如何實現在DataForm上做到不同欄位計算值給到其他欄位,如A*B=C的功能?

A:可以透過DataForm.Column.OnBlur的屬性寫入一個js的方法名稱,如amount,然後在程式部分寫入如下內容。

function amount() {

            if ($('#dataFormDetailUnitPrice').val() != "" && $('#dataFormDetailQuantity').val() != "") {

                $('#dataFormDetailAmount').attr("value", $('#dataFormDetailQuantity').val() * $('#dataFormDetailUnitPrice').val());

            }

            else {

                $('# dataFormDetailAmount').attr("value", 0);

            }

 

QDataGrid Column FormatFormatScript衝突的處理?

A:可以在寫FormatScriptjs時,將Column Format加入

function colorValue(val, row) {

            if (val > 100) {

                return "<div style=\"color:Red\">" + getFormatValue(val, "N2") + "</div>";

            }

            else if (val != null) {

                return "<div>" + getFormatValue(val, "N2") + "</div>";

            }

            return val;

        }

 

Q:如何動態控制DataGrid中整個Row的顏色?

A

document.onready = function () {

            $('#dataGridMaster').datagrid({

                rowStyler: function (index, row) {

                    if (row.Country == "USA")

                        return 'color:red;';

                }

            });

        }

 

Q:如何通過程式控制畫面上的元件的disabled屬性?

Ainput,select,textarea

$(this).attr('isalsoreadonly', false);

Refval

$.data(refvalid, "inforefval").refval.find("span.icon-view").attr('disabled', true);

Combo

$(comboid).combobox('disable');

ComboGrid

$( combogridid).combogrid('disable');

Databox

$( databoxid).datebox('disable');

Datatimebox

$( datatimeboxid).datetimebox('disable');

Numberbox

$(numberboxid).numberbox('disable');

JQOption

$( optionid).options('disable');

 

Q:如何在開查詢Form的時候動態給查詢欄位預設值?

A:首先先在網頁上右鍵滑鼠,選擇檢視原始檔,找到所需要給值的元件名稱Id。然後根據不同的元件,以不同的方式給值。

input,select,textarea,Numberbox,JQOption

$(target).val(value);

Refval

$(target).refval('setValue', value);

Combo

$(target).combobox('setValue', value);

ComboGrid

$(target).combogrid('setValue', value);

Databox

$( target).datebox('setValue', value);

Datatimebox

$(target).datetimebox('setValue', value);

 

Q:如何寫程式在MainPage上打開新頁籤?

A:可通過如下JS方法

function test() {

            self.parent.addTab('百度', 'MyPage/bOrders.aspx? );

        }

 

Q:在Chrome中無法通過JQuery打開 WebForm

A:可以通過右鍵Chrome的捷徑,並按照如下圖的位置添加命令--disable-web-security

 


 

Top of Page