前言:
发现这个问题,有不少人提起过,所以就简单写成文章吧。
接下来看如何在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);
}
}
这样就打完收工了。