瀏覽次數: 627316

  • 想取得某些參數, 如何得知getClientInfo()有哪些變數可以使用?
    vs中開啟EFClientTools下的Reference.cs文件。在下拉查看各方法和屬性的地方,除了Groups,以及其他後面帶Field字樣的內容,其他都是可以取得。
  • 如何限制主頁面MainPage所開啟的畫面數目(Tab數目)?

    MainPage.js文件中有一個addTab方法,在其中增加程式處理,增加的位置:

    if (mainTab.length == 0) {

    mainTab = $("#tabsWorkFlow")

    }

    的下方。增加的內容:

    if (mainTab.tabs('tabs').length > 3) {

    alert('
    已經超過最大數量,請先關閉頁簽!');

    }

    然後將下面的程式都用else{}包起來。 

  • Excel匯入Master-Detail資料時,PrimaryKey該如何產生自動編號?
    1.PrimaryKey在Client端先給一個預設值,server端會自動產生號碼2.如果您要在Server端取得號碼,可以執行AutoNumber1.Execute(connection, trans) , 會返回AutoNumber目前最新的號碼。
  • 如何將左邊Menu自動縮合?
    開啟JQClientToolsJQtree.cs文件,在其中搜索onLoadSuccess,會找到:

    onLoadSuccess: function (node, data) {

    }

    改為:

    onLoadSuccess: function (node, data) {

    $('#" + this.ClientID + @"').tree('collapseAll');

    }
    請重建JQClientTools專案,確保網站參考的該dll為最新的。
  • login 後如何自動開啟指定的網頁?

    MainPage_Flow.aspx  



    $(document).ready(function () 





        addTab("TabTitle",
    "
    MyWebs/ JQSingle1.aspx");



    });

  • 如何用js去開啟dataGrid的某筆資料並控制開啟的狀態?
    openForm('#JQDialog1', $('#dataGridMaster').datagrid('getSelected'), "viewed", 'dialog');
    //最後兩個參數分別是打開的時候狀態(viewed, updated,inserted)
  • 請問如何呼叫JqDataHandle.ashx 並傳給他remoteName、tableName、whereString取到某一筆資料?
    var remoteName = getInfolightOption($('#dataFormMaster')).remoteName;

    var tableName = getInfolightOption($('#dataFormMaster')).tableName;

    var queryWord = new Object();

    queryWord.whereString = "TKQK10='" + $('#dataFormMasterTKQK10').refval('getValue') + "' AND " + "TKQK03=to_date('" + $('#dataFormMasterTKQK03').datebox('getValue') + "','YYYY/MM/DD')";

    $.ajax({

    type: "POST",

    url: getRemoteUrl(remoteName, tableName, true),

    data: { queryWord: $.toJSONString(queryWord) },

    cache: false,

    async: false,

    success: function (data) {

    index = $('#dataGridView').datagrid('getRowIndex', $('#dataGridView').datagrid('getSelected'));

    var rows = $.parseJSON(data);

    if (rows.length > 0) {

    $('#dataGridView').datagrid('updateRow', { index: index, row: rows[0] });

    }

    }

    }); 
  • 將系統MainPage.aspx左邊選單(JQTree)收合

    這個需要在JQClientTools下的JQTree.cs91行的onLoadSuccess內執行:

    $('#" + this.ClientID + @"').tree('collapseAll');

    然後重建JQClientTools專案,並確保網站下該dll的參考是最新的。 

  • 如何依照公司別做資料過濾?
    在cs寫EFClientTools.ClientUtility.ClientInfo.Site = "xxx"可以在logon.aspx.cs中就先寫
  • 從外部網站透過 JQWebClient/SingleSignOn.asmx 利用 SingleSignOn().LogOn 方法置入某一頁面後,若外部網站不再使用或外部網站登出時,請問如何SingleSignOut?

    [WebMethod(true)]



    public void LogOut(string userId)



    {



    EFServiceClient client =
    EFClientTools.ClientUtility.Client;



    var ipAddress =
    HttpContext.Current.Request.UserHostAddress;



    var clientInfo = new ClientInfo()



    {



    UserID = userId,



    IPAddress = ipAddress,



    Locale = "en-us",



    UseDataSet = true



    };



    client.LogOff(clientInfo);



    }

  • 如何發送不同格式的通知email?

    需要自己修改Email.cs的方法:

    一共有4個方法:

    SendTo2
    :是Schecudling使用的DelaySendMail方法。

    SendTo3
    :是通知

    SendTo4
    :是退回

    SendTo
    :是其他Submitapprove等使用。 

  • JQQuery框架如何設定逾時時間?
    webconfig增加:< sessionState mode="InProc" cookieless="false" timeout="20" / >
  • 請問easyui有無類似加載中...的效果?
    可以在呼叫程式時執行:
    $.messager.progress({ msg: 'saving controls ...' });
    success的時候執行
    $.messager.progress('close'); //進度條結束
  • 登入時可以預設資料庫是那一個嗎?
    請在logon.aspx.csPage_load事件找到:
    LoadCookie();
    在下面增加:
    (Login1.FindControl("Database") as DropDownList).SelectedValue = "ERPS";
     //預設為ERPS




  • 頁面Session Timeout時間調整該如何設定?
    開啟LogOn.aspx.cs中設定Session.Timeout = 60;另外, 一般IIS上會有整個網站逾時的設置,一般預設是20分鐘。
  • 主畫面的Menu可以隱藏嗎?
    您可以在MainPage_Flow.aspx或MainPage.aspx中,把JQMenuButton2的Visible設為false把logOutMenuButton和changePasswordMenuButton的display設為none把整個title="Menu"的Div都注釋掉
  • 請問在.cs內要抓取資料庫的資料(select * from xxxx),有範例嗎?
    DataSet ds = EFClientTools.ClientUtility.ExecuteSQL("ERPS", "select * from table");
  • JSON轉DataTable(C#)的方法 & DataGrid資料轉成JSON格式字串的方法(JQuery)
    JSON轉DataTable (C#)
    //假設ACC_Data是JSON字串
    DataTable ACC_DT = (DataTable)Newtonsoft.Json.JsonConvert.DeserializeObject(ACC_Data, (typeof(DataTable)));

    DataGrid資料轉成JSON格式字串 (JQuery)
    var ACC_DATA = $('#dataGridACC').datagrid('getRows');
    ACC_DATA = JSON.stringify(ACC_DATA);








  • EEP Workflow jQuery Web Form 參數傳遞範例
    function dataFormMasterOnLoadSuccess() {
        var parameter = Request.getQueryStringByName2("P1");
        if (parameter == "P1") {
            $('#dataFormMaster input, #dataFormMaster select, 
     #dataFormMaster textarea, #dataFormMaster button').attr('disabled', 'disabled');
            $('#dataFormMasterServiceRole').removeAttr('disabled');
        }
    }

    //但是EEP2012、EEP2013
    //請改成  var parameters = Request.getQueryStringByName("P1");




  • 資料來源使用LoadData方式的Grid匯出Excel方法

    .ASPX部分:



    //toolitemonclick事件



    function exportlocal() {



         var datagrid = $('#JQDataGrid7');//要匯出EXCELGRID ID



         var exportFields = [];



         var fields =
    datagrid.datagrid(
    'getColumnFields', true);



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



                   
    exportFields.push({ field: fields[i], title: datagrid.datagrid(
    'getColumnOption',
    fields[i]).title });



                }



                fields
    = datagrid.datagrid(
    'getColumnFields');



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



                    exportFields.push({
    field: fields[i], title: datagrid.datagrid(
    'getColumnOption', fields[i]).title });



                }



      var rows = $('#JQDataGrid7').datagrid('getRows');//要匯出EXCELGRID ID



               
    $.ajax({



                   
    type:
    "POST",



                    data:
    { mode:
    'export',
    fields: $.toJSONString(exportFields), rows: $.toJSONString(rows) },



                   
    cache:
    false,



                   
    async:
    false,



                   
    success:
    function (data) {



                       
    window.open(
    '../handler/JqFileHandler.ashx?File=' + data, 'download');



                    }



                });



           
    }



    .cs部分



    funtion



    public override void ProcessRequest(HttpContext context)



        {



            if (!JqHttpHandler.ProcessRequest(context))



            {



                base.ProcessRequest(context);



            }



       
    }



    改為



    public override void ProcessRequest(HttpContext context)



        {



            if
    (context.Request.Form[
    "mode"] == "export")



            {



               
    Export(context);



            }



            else if (!JqHttpHandler.ProcessRequest(context))



            {



                base.ProcessRequest(context);



            }



       
    }



    //新增下面的funtion



    private void Export(HttpContext context)



        {



            var exportTable = new System.Data.DataTable();



     



            var fields =
    (Newtonsoft.Json.Linq.
    JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(context.Request.Form["fields"]);



            var rows =
    (Newtonsoft.Json.Linq.
    JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(context.Request.Form["rows"]);



            foreach
    (Newtonsoft.Json.Linq.
    JObject field in fields)



            {



                var columnType = typeof(string);



                if (rows.Count > 0)



                {



                    var obj = rows[0] as
    Newtonsoft.Json.Linq.
    JObject;



                    var value = obj[(string)field["field"]];



                    if (value.Type ==
    Newtonsoft.Json.Linq.
    JTokenType.Integer)



                    {



                       
    columnType =
    typeof(int);



                    }



                    else if (value.Type ==
    Newtonsoft.Json.Linq.
    JTokenType.Float)



                    {



                       
    columnType =
    typeof(double);



                    }



                }



               
    exportTable.Columns.Add(
    new System.Data.DataColumn((string)field["field"], columnType) { Caption = (string)field["title"] });



            }



            foreach
    (Newtonsoft.Json.Linq.
    JObject row in rows)



            {



                var dataRow =
    exportTable.NewRow();



                foreach (var column in row)



                {



                    if
    (exportTable.Columns.Contains(column.Key))



                    {



                       
    dataRow[column.Key] = column.Value.ToString();



                    }



                }



               
    exportTable.Rows.Add(dataRow);



            }



     



            var fileName = string.Format("{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss"));



            var path = string.Format("../Files/{0}",
    fileName);



            JQUtility.ExportToExcel(exportTable,
    HttpContext.Current.Server.MapPath(path),
    "", new List<string>());



           
    context.Response.ContentType =
    "text/plain";



           
    context.Response.Write(fileName);



       
    }



     





  • openImport功能簡述
    1.openImport功能匯入必須為xml檔,可將EEP透過exportGrid功能匯出後的xls檔,再使用Office的EXCEL程式開啟後另存為xml格式即可。
    2.預設匯入時,xml資料中不含欄位名稱,第一行直接為Data。
    3.畫面DataGrid中的資料匯入後直接被取代(LoadData、不分頁),會把後來匯入的資料做新增,不會刪除資料。
    4.KEY值若重複會直接跳出SQL語法錯誤訊息。
    5.如果KEY為自增值可正常使用。
    6.DataGrid須設定為AutoApply=False &在Tooltem中增加OnClick=apply的按鈕 & AllowAdd=True