列表
更新时间: 2023-12-01 浏览次数: {{ hits }}

重写列表的过滤条件

示例:

protected override void OnInit(H3.SmartForm.LoadListViewResponse   response)
   {
       H3.Data.Filter.Filter filter = new H3.Data.Filter.Filter();  //构建过滤器
       H3.Data.Filter.And   andMatcher = new H3.Data.Filter.And();      //构造And匹配器
       andMatcher.Add(new H3.Data.Filter.ItemMatcher("控件编码", H3.Data.ComparisonOperatorType.Equal, "Value")); //添加查询条件
       filter.Matcher = andMatcher;
       this.Request.Filter = filter;
       base.OnInit(response);
   }

 

设定一列作为该列表默认排序列:

//本方法放在列表设计后端列表类内

protected override void OnInit(H3.SmartForm.LoadListViewResponse response)

{

base.OnInit(response);

response.SortBy = "F0000003";//设置列表默认根据F0000003控件进行排序

//response.SortDirection = H3.Data.Filter.SortDirection.Ascending;//正序排序

response.SortDirection = H3.Data.Filter.SortDirection.Descending;//倒序排序

}

 

在列表上增加一列:

//增加列(本方法放在列表设计后端列表类内)

protected override void OnInit(H3.SmartForm.LoadListViewResponse   response)

{

Dictionary < string, H3.SmartForm.ListViewColumn > columns=new Dictionary<string, H3.SmartForm.ListViewColumn>();

foreach(string key in response.Columns.Keys)

{

columns.Add(key, response.Columns[key]);


if(key == "F0000003")//判断当前列的编码是否是F0000003

{

string myNewCol_Code = "Total";//新的一列的列编码

//将一个新列添加到F0000003列的下一列

H3.SmartForm.ListViewColumn newCol = new H3.SmartForm.ListViewColumn(

myNewCol_Code,//列编码(自定义)

"总计",//列名称(自定义)

true,

false,

"",

"center",

true,

H3.DataModel.PropertyShowMode.Normal

);

columns.Add(myNewCol_Code, newCol);

}

}

response.Columns = columns;

}

 

修改列表上某列的名称:

//修改列名称(本方法放在列表设计后端列表类内)

protected override void OnInit(H3.SmartForm.LoadListViewResponse   response)

{

Dictionary < string, H3.SmartForm.ListViewColumn > columns=new Dictionary<string, H3.SmartForm.ListViewColumn>();

foreach(string key in response.Columns.Keys)

{

if(key == "F0000001")//判断当前列的编码是否是F0000001

{

//将F0000001列的列名称改成 供应商信息

H3.SmartForm.ListViewColumn newCol = new H3.SmartForm.ListViewColumn(

"F0000001",//列编码(对应控件编码)

"供应商信息",//列名称

response.Columns[key].Visible,

response.Columns[key].Sortable,

response.Columns[key].Url,

response.Columns[key].Align,

response.Columns[key].IsLabel,

response.Columns[key].ShowMode

);

columns.Add("F0000001", newCol);

}

else

{

columns.Add(key, response.Columns[key]);

}

}

response.Columns = columns;

}

 


从列表上隐藏一列:

//隐藏列(本方法放在列表设计后端列表类内)

protected override void OnInit(H3.SmartForm.LoadListViewResponse response)

{

base.OnInit(response);

if(response.Columns.ContainsKey("SeqNo"))//判断SeqNo这一列是否存在

{

response.Columns.Remove("SeqNo");//存在SeqNo这一列时,则在列表页中隐藏这一列

}

}


 

设置列表中某个字段的背景颜色

注:不支持地图视图,或者增加判空,否则会报错

protected override void OnLoad(H3.SmartForm.LoadListViewResponse   response)

    {

          base.OnLoad(response);

        if(this.Request.ListScene==H3.SmartForm.ListScene.NormalList){

        string   isFormControl = this.Request["isFormControl"] == null ?   "" : this.Request["isFormControl"].ToString();

        //设置只在load列表数据时加载颜色

        if(isFormControl   != "1" && isFormControl != "true")

        {

              foreach(Dictionary < string, object > data in   response.ReturnData)

            {

                //设置列名为Mobile的颜色为Red

                  data["Mobile"] = new   H3.SmartForm.ListViewCustomCell(data["Mobile"] == null ?   "--" : data["Mobile"].ToString(),   H3.SmartForm.Color.Red);

            }

        }

        }

    }


添加/修改/隐藏列表按钮

1. 配置列表按钮

列表设计-->列表设置-->设置功能按钮

2. 代码控制列表按钮(包括配置的列表按钮)

protected override void OnInit(H3.SmartForm.LoadListViewResponse   response)

{

base.OnInit(response);

//添加一个无图标的按钮,“Btn1”:按钮key/按钮actionName,“按钮1”:按钮显示文本

response.Actions.Add("Btn1", new H3.SmartForm.ViewAction("Btn1", "按钮1", ""));

//添加一个有图标的按钮,“TestBtn”:按钮key/按钮actionName,“测试按钮”:按钮显示文本,“icon-hr_transfer_position”:图标编码

response.Actions.Add("TestBtn", new H3.SmartForm.ViewAction("TestBtn", "测试按钮", "icon-hr_transfer_position"));


//判断按钮集合里是否有删除按钮

if(response.Actions != null && response.Actions.ContainsKey("Remove"))

{

//移除删除按钮

response.Actions.Remove("Remove");

}


//判断按钮集合里是否有新增按钮

if(response.Actions != null && response.Actions.ContainsKey("Create"))

{

//修改新增按钮的显示文本

response.Actions["Create"].Text = "添加";

//修改新增按钮的显示图标

response.Actions["Create"].Icon = "icon-dian";

}


/*

   平台默认按钮key/按钮actionName大全:

   Create:新增(图标编码-->icon-dian)

   Import:导入(图标编码-->icon-import2)

   Export:导出(图标编码-->icon-export2)

   Remove:删除(图标编码-->icon-remove2)

   PrintQrCode:打印二维码(图标编码-->icon-erweima)

*/

}

3. 其他图标编码查看方式(在Chrome浏览器下):