前言: 發現這個問題,有不少人提起過,所以就簡單寫成文章吧。 接下來看如何在Aries 框架中使用存儲過程,整體步驟和綁定普通視圖差不多。 步驟一:新建一個空視圖。 可以在SqlCode管理中,創建一個空的視圖,主要用於顯示的表結構: 所以select 的空欄位名,和最終存儲過程出來的欄位名一致即可 ...
前言:
發現這個問題,有不少人提起過,所以就簡單寫成文章吧。
接下來看如何在Aries 框架中使用存儲過程,整體步驟和綁定普通視圖差不多。
步驟一:新建一個空視圖。
可以在SqlCode管理中,創建一個空的視圖,主要用於顯示的表結構:
所以select 的空欄位名,和最終存儲過程出來的欄位名一致即可。
步驟二:頁面調用V_P_XXX
<html> <body> <table id="grid"></table> </body> </html> <script type="text/javascript"> var dg = new AR.DataGrid("V_P_XXX"); dg.bind(); </script>
上面兩步,和普通視圖一樣,頁面呈現之後,也可以開始配置下表頭。
步驟三:根據V_P_XXX名稱,重寫Select方法,調存儲過程,並輸出數據。
public class DemoController : Aries.Core.Controller
{
protected override MDataTable Select(GridConfig.SelectType st)
{
switch (ObjName)
{
case "V_P_XXX":
using (MProc proc = new MProc("存儲過程名"))
{
proc.Set("參數A", 1);
proc.Set("參數B", "sdfd");
return proc.ExeMDataTable();
}
case "V_Test"://處理Demo中文本資料庫
MDataTable dt = null;
using (MAction action = new MAction(CrossDb.GetEnum("Demo_TestA")))
{
dt = action.Select();
}
dt.JoinOnName = "ID";
MDataTable joinDt = dt.Join("Demo_TestB", "ID");
return joinDt.Select(PageIndex, PageSize, GetWhere() + GetOrderBy("ID"), GridConfig.GetSelectColumns(ObjName, st));
}
return base.Select(st);
}
}
這樣就打完收工了。