氚云学习之旅-后端代码 API 小记(二)

2020-08-10  本文已影响0人  kalic

今天讲一下氚云后端代码的API中的自定义按钮以及数据库查询。首先设置一个自定义按钮方便查看数据。


列表设计-功能按钮

按钮点击事件

按钮的点击事件通过在OnSubmit中进行实现,actionName可以使用自定义按钮,或者常规的表单按钮。

表单按钮编码

通过使用OnSubmit的actionName,等价条件是actionName编码。之后在方法体中编写相关代码即可。


后端OnSubmit按钮事件

数据库的使用

先上代码:

    protected override void OnSubmit(string actionName, H3.SmartForm.ListViewPostValue postValue, H3.SmartForm.SubmitListViewResponse response)
    {
        if(actionName == "showCode")
        {
            // 1. 编写SQL
            string sql = "select * from i_D001783Sg7hkoltqpdoel2p1iest4ui07";
            // 1.2 声明List对象
            List < H3.DataModel.BizObject > rows = new List<H3.DataModel.BizObject>();
            // 1.3 获取黄页客商模板code
            String schemaCode = "D001783Sg7hkoltqpdoel2p1iest4ui07";
            // 2. 获取 表单对象
            System.Data.DataTable dt = this.Engine.Query.QueryTable(sql, null);
            if(dt != null && dt.Rows.Count > 0)
            {
                // 3. 遍历表单
                foreach(System.Data.DataRow row in dt.Rows)
                {  
                    // 3.1 获取字段
                    string guestName = row["f0000003"] + string.Empty;
                    string address = row["f0000012"] + string.Empty;
                    // 3.2 声明黄页客商对象
                    H3.DataModel.BizObjectSchema guestSchema = this.Request.Engine.BizObjectManager.GetPublishedSchema(schemaCode);
                    H3.DataModel.BizObject guestObject = new H3.DataModel.BizObject(this.Request.Engine, guestSchema, 
                        this.Request.UserContext.UserId, this.Request.UserContext.User.ParentId);
                    // 3.3 存放数据
                    guestObject["f0000003"] = guestName;
                    guestObject["f0000012"] = address;
                
                    rows.Add(guestObject);
                }
                response.Message = "查询成功!";
            }
        }

        base.OnSubmit(actionName, postValue, response);
    }

获取数据库对象使用下列这行代码:
System.Data.DataTable dt = this.Engine.Query.QueryTable(sql, null);
执行完毕后,dt获取就获取到了sql语句中查到的数据库表数据。

数据库表单对象
下图展示的是查询到的数据行内容:
行内容
之后我们声明一个黄页客商空对象用来存储获取到的数据库信息,声明空对象需要先声明一个表单模板对象,schemaCode为表单的Id,使用代码:
H3.DataModel.BizObjectSchema guestSchema = this.Request.Engine.BizObjectManager.GetPublishedSchema(schemaCode);
模板对象声明之后就可以声明 表单对象了,其中guestSchema 为之前声明的模板对象。
H3.DataModel.BizObject guestObject = new H3.DataModel.BizObject(this.Request.Engine, guestSchema, this.Request.UserContext.UserId, this.Request.UserContext.User.ParentId);
黄页客商空对象
获取数据库信息值,给黄页客商空对象赋值:
对象赋值
使用List的Add方法存储黄页客商对象:
List对象
List对象中的值 黄页客商数据库的信息

原文链接:https://www.jianshu.com/p/0d5cf3f1a4b6

上一篇 下一篇

猜你喜欢

热点阅读