using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace SiaSun.LMS.WPFClient.Dialog { /// /// DateBetweenQueryWindow.xaml 的交互逻辑 /// public partial class DateSectQueryWindow : AvalonDock.DocumentContent { string strTableName = string.Empty; string strWhere = string.Empty; string strOrder = string.Empty; string strStartDateTimeColumn = string.Empty; string strEndDateTimeColumn = string.Empty; public DateSectQueryWindow(string _StartDateTimeColumn, string _EndDateTimeColumn,string _TableName, string _Where, string _Order) { InitializeComponent(); strStartDateTimeColumn = _StartDateTimeColumn; strEndDateTimeColumn = _EndDateTimeColumn; strTableName = _TableName; strWhere = _Where; strOrder = _Order; //是否显示时间段 this.panelDateTime.Visibility = (string.IsNullOrEmpty(this.strStartDateTimeColumn) && string.IsNullOrEmpty(this.strEndDateTimeColumn)) ? Visibility.Collapsed : System.Windows.Visibility.Visible; this.ucQuery.U_Query += new UC.ucQuickQuery.U_QueryEventHandler(ucQuery_U_Query); } private void DocumentContent_Loaded(object sender, RoutedEventArgs e) { //标题 this.grpbHeader.Header = string.Format(this.grpbHeader.Header.ToString(),this.Title.ToString()); //默认日期 this.dtpStart.SelectedDate = DateTime.Now; this.dtpEnd.SelectedDate = DateTime.Now; //初始化查询控件 this.InitQueryControl(); //开始查询 this.ucQuery_U_Query(null); } #region ------查询 /// /// 初始化查询控件 /// private void InitQueryControl() { MainWindow.mainWin.Cursor = Cursors.Wait; this.ucQuery.U_WindowName = this.GetType().Name; this.ucQuery.U_XmlTableName = strTableName; this.ucQuery.U_InitControl(); MainWindow.mainWin.Cursor = Cursors.Arrow; } /// /// 开始查询 /// void ucQuery_U_Query(string QueryWhere) { string strDateWhere = (this.panelDateTime.Visibility == System.Windows.Visibility.Visible ? this.GetDateStr() : string.Empty); this.gridQuery.U_AppendWhere = string.Format("{0} AND {1}", string.IsNullOrEmpty(QueryWhere) ? "1=1" : QueryWhere, string.IsNullOrEmpty(strDateWhere) ? "1=1" : strDateWhere); this.gridQuery.U_TableName = strTableName; this.gridQuery.U_XmlTableName = strTableName; this.gridQuery.U_WindowName = this.GetType().Name; this.gridQuery.U_Where = strWhere; this.gridQuery.U_OrderField = strOrder; this.gridQuery.U_AllowOperatData = false; this.gridQuery.U_AllowChecked = false; this.gridQuery.U_InitControl(); } /// /// 获得时间查询条件 /// private string GetDateStr() { string strDateWhere = string.Empty; //判断是否添加时间查询 if (chkboxDate.IsChecked == true) { //判断选择的值 if(this.dtpStart.SelectedDate.HasValue && !this.dtpEnd.SelectedDate.HasValue) { strDateWhere = string.Format("({0}>='{1} 00:00:00')", strStartDateTimeColumn, this.dtpStart.SelectedDate.Value.ToString("yyyy-MM-dd")); } else if(!this.dtpStart.SelectedDate.HasValue && this.dtpEnd.SelectedDate.HasValue) { strDateWhere = string.Format("({0}<='{1} 24:60:60')", strEndDateTimeColumn, this.dtpEnd.SelectedDate.Value.ToString("yyyy-MM-dd")); } else if(this.dtpStart.SelectedDate.HasValue && this.dtpEnd.SelectedDate.HasValue) { strDateWhere = string.Format("({0}>='{1} 00:00:00' AND {2}<='{3} 24:60:60')", strStartDateTimeColumn, this.dtpStart.SelectedDate.Value.ToString("yyyy-MM-dd"), strEndDateTimeColumn, this.dtpEnd.SelectedDate.Value.ToString("yyyy-MM-dd")); } } return strDateWhere; } #endregion } }