C/S框架V2.0版集成高级查询功能


首先解压附件文件到CSFramework_ADO2.Library 目录下。

实现步骤:
1. 在Interfaces模块内新建ISupportAdvancedSearch.cs文件,复制下面这段代码。
using System;
using System.Collections.Generic;
using System.Text;
namespace CSFramework_ADO2.Interfaces
{
/// <summary>
/// 支持高级搜索功能
/// </summary>
public interface ISupportAdvancedSearch
{
/// <summary>
/// 高级搜索的方法
/// </summary>
/// <param name="whereSQL">高级搜索组合的查询条件</param>
/// <returns>返回查询的对象</returns>
object AdvancedSearch(string whereSQL);
}
}
// 来源:www.CSFramework.com, C/S结构框架学习网
using System.Collections.Generic;
using System.Text;
namespace CSFramework_ADO2.Interfaces
{
/// <summary>
/// 支持高级搜索功能
/// </summary>
public interface ISupportAdvancedSearch
{
/// <summary>
/// 高级搜索的方法
/// </summary>
/// <param name="whereSQL">高级搜索组合的查询条件</param>
/// <returns>返回查询的对象</returns>
object AdvancedSearch(string whereSQL);
}
}
// 来源:www.CSFramework.com, C/S结构框架学习网
2. 以bllInventoryCheck业务逻辑类举例,实现ISupportAdvancedSearch接口
public class bllInventoryCheck : bllBase, ILogSupportable, ISupportAdvancedSearch
{
... Your Other code...
#region ISupportAdvancedSearch 成员
/// <summary>
/// 实现高级查询接口
/// </summary>
/// <param name="whereSQL">查询条件组合</param>
/// <returns></returns>
public object AdvancedSearch(string whereSQL)
{
return dalProductCheck.Instance.AdvancedSearch(whereSQL);
}
#endregion
}
// 来源:www.CSFramework.com, C/S结构框架学习网
{
... Your Other code...
#region ISupportAdvancedSearch 成员
/// <summary>
/// 实现高级查询接口
/// </summary>
/// <param name="whereSQL">查询条件组合</param>
/// <returns></returns>
public object AdvancedSearch(string whereSQL)
{
return dalProductCheck.Instance.AdvancedSearch(whereSQL);
}
#endregion
}
// 来源:www.CSFramework.com, C/S结构框架学习网
3. 数据层dalProductCheck 类新加一个高级查询方法,返回数据表。
//高级查询
public object AdvancedSearch(string whereSQL)
{
string query = "select * from tb_MyProductTake where 1=1 ";
if (false == String.IsNullOrEmpty(whereSQL))
query = query " AND " whereSQL;
else
query = query " AND 1=0 ";
SqlCommandBase cmd = new SqlBuilder().BuildSqlCommandBase(query);
DataTable dt = DataProvider.Instance.GetTable(cmd.SqlCommand, TProductTake.TableName);
return dt;
}
// 来源:www.CSFramework.com, C/S结构框架学习网
public object AdvancedSearch(string whereSQL)
{
string query = "select * from tb_MyProductTake where 1=1 ";
if (false == String.IsNullOrEmpty(whereSQL))
query = query " AND " whereSQL;
else
query = query " AND 1=0 ";
SqlCommandBase cmd = new SqlBuilder().BuildSqlCommandBase(query);
DataTable dt = DataProvider.Instance.GetTable(cmd.SqlCommand, TProductTake.TableName);
return dt;
}
// 来源:www.CSFramework.com, C/S结构框架学习网
4. "高级查询"按钮的事件,打开高级查询配置窗体
private void btnAdvSearch_Click(object sender, EventArgs e)
{
//打开高级搜索功能
frmAdvancedSearch.Execute(gvSummary, _DataProxy);
}
// 来源:www.CSFramework.com, C/S结构框架学习网
{
//打开高级搜索功能
frmAdvancedSearch.Execute(gvSummary, _DataProxy);
}
// 来源:www.CSFramework.com, C/S结构框架学习网
注意:frmAdvancedSearch窗体依赖GridView组件初始化字段列表,所以要确保该组件有初始化数据源。
您可以在打开窗体时使用:
_CurrentBusiness = _DataProxy.GetBusinessByKey("");// 获取一个空的业务表
DoBindingSummaryGrid(_CurrentBusiness.Tables[0]); //绑定主表的Grid

扫一扫加作者微信


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网