C/S框架V2.0版集成高级查询功能
作者:C/S原创  发布日期:2011/04/06 22:00:09
  C/S框架V2.0版集成高级查询功能

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


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结构框架学习网




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结构框架学习网




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结构框架学习网



4. "高级查询"按钮的事件,打开高级查询配置窗体

private void btnAdvSearch_Click(object sender, EventArgs e)
{
   //打开高级搜索功能
   frmAdvancedSearch.Execute(gvSummary, _DataProxy);
}

// 来源:www.CSFramework.com, C/S结构框架学习网




注意:frmAdvancedSearch窗体依赖GridView组件初始化字段列表,所以要确保该组件有初始化数据源。
您可以在打开窗体时使用:



_CurrentBusiness = _DataProxy.GetBusinessByKey("");// 获取一个空的业务表
DoBindingSummaryGrid(_CurrentBusiness.Tables[0]); //绑定主表的Grid





C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

点击下载附件 点击下载附件 (如下载失败,请邮件通知我们寄回给您,或QQ:23404761留言.)
上一篇 下一篇