前言:

发现这个问题,有不少人提起过,所以就简单写成文章吧。

接下来看如何在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);
        }
    }

这样就打完收工了。

 

posted on 2019-03-19 00:26  路过秋天  阅读(1403)  评论(0编辑  收藏  举报
路过秋天