# 查询界面动态按钮
参照 【自定义按钮】示例 或下面 【查询界面添加隐藏按钮】示例
# 动态增加查询配置(子查询、明细表查询)
动态增加一些其他查询配置,这些字段在表里面不存在,或者字段在其他表,如子表查询
# 1.前端增加配置
onInit() {
//增加查询参数配置
this.searchFormOptions.push([
{"title":"名称1","field":"字段1","type":"like"},//模糊查询
{"title":"名称2","field":"字段2","type":"select",dataKey:"字典编号"},//下拉框
{"title":"名称3","field":"字段3","type":"selectList",dataKey:"字典编号"}//下拉框多选
]);
//也可以使用js的splice语法将查询配置放在表单任意位置,如:放在查询表单第1行,第2个配置后面
// this.searchFormOptions[1].splice(2,0,...[{查询配置},{}])//注意有三个...
//要是看不懂什么意思,搜js的splice语法
//增加查询字段默认值
this.searchFormFields.字段1=null;
this.searchFormFields.字段2=null;
this.searchFormFields.字段3=[];//注意下拉框多选,日期等多个值的这里默认应该是数组
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
更多查询类型,如:日期、下拉框多选、数字范围等,见表单示例
组件示例->表单组件 (opens new window)
# 2.后台自定义(子、明细表)查询
在[表Service.cs]类中重写查询方法
后台查询更多说明,http://v3.volcore.xyz/dev/后台基础代码扩展实现.html#查询 (opens new window)
重写表的查询方法实现
public override PageGridData<表> GetPageData(PageDataOptions pageData)
{
QueryRelativeList = (List<SearchParameters> parameters) =>
{
//设置查询条件
QueryRelativeExpression = (IQueryable<表> queryable) =>
{
string value1 = parameters.Where(x => x.Name == "字段1").Select(s => s.Value).FirstOrDefault();
//EF版查询
if (!string.IsNullOrEmpty(value1))
{
//自定义查询
//queryable= queryable.Where(x => 条件);
//明细表查询:关联其他表或者子表查询
//var subQuery = repository.DbContext.Set<其他表>().Where(x => true);
////进行子查询
//queryable = queryable.Any(c => subQuery.Any(x => x.字段 == c字段 && 接着写条件));
}
//sqlsugar后台查询
if (!string.IsNullOrEmpty(value1))
{
//自定义查询
//queryable= queryable.Where(x => 条件);
//明细表查询:关联其他表或者子表查询
//queryable = queryable.Any(c => SqlFunc.Subqueryable<其他表>().Any(x =>x.字段==c字段&&条件).Any());
}
//其他自定义字段操作同上
//string value2 = parameters.Where(x => x.Name == "字段2").Select(s => s.Value).FirstOrDefault();
return queryable;
};
// 后台查询更多说明:http://v3.volcore.xyz/dev/后台基础代码扩展实现.html#查询
};
return base.GetPageData(pageData);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
← 事件操作 查询界面按钮组Dropdown →