- 想取得某些參數, 如何得知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自動縮合?開啟JQClientTools的JQtree.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.cs的91行的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:是其他Submit,approve等使用。 - JQQuery框架如何設定逾時時間?webconfig增加:< sessionState mode="InProc" cookieless="false" timeout="20" / >
- 請問easyui有無類似加載中...的效果?
可以在呼叫程式時執行:
$.messager.progress({ msg: 'saving controls ...' });
在success的時候執行
$.messager.progress('close'); //進度條結束
- 登入時可以預設資料庫是那一個嗎?
請在logon.aspx.cs的Page_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部分:
//toolitem的onclick事件
function exportlocal() {
var datagrid = $('#JQDataGrid7');//要匯出EXCEL的GRID 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');//要匯出EXCEL的GRID 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');
}
});
}
原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