Mini Kabibi Habibi
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
namespace DevExpress.XtraGrid.Demos {
/// <summary>
/// Summary description for Filtering.
/// </summary>
public partial class Filtering : TutorialControl {
public Filtering() {
// This call is required by the Windows.Forms Form Designer.
CreateWaitDialog();
InitializeComponent();
TutorialInfo.WhatsThisCodeFile = "CS\\GridMainDemo\\Modules\\Filtering.cs";
TutorialInfo.WhatsThisXMLFile = "DevExpress.XtraGrid.Demos.CodeInfo.Filtering.xml";
// TODO: Add any initialization after the InitForm call
}
private void Filtering_Load(object sender, System.EventArgs e) {
InitIssueListData(dsIssueList1);
InitFilter();
InitEditors();
}
protected override void InitXMLData(DataSet ds) {
this.gridControl1.DataSource = ds.Tables["Items"];
this.repositoryItemLookUpEdit1.DataSource = ds.Tables["Projects"];
this.repositoryItemLookUpEdit2.DataSource = ds.Tables["Users"];
}
void InitFilter() {
gridControl1.ForceInitialize();
}
//<ceAllowFilter>
void InitDemoFilter() {
gridView1.Columns["FixedDate"].FilterInfo = new Columns.ColumnFilterInfo(Columns.ColumnFilterType.Custom, null, "[FixedDate] is not null");
gridView1.Columns["Status"].FilterInfo = new Columns.ColumnFilterInfo(Columns.ColumnFilterType.Custom, null, "[Status] in (2, 3, 4)");
}
//</ceAllowFilter>
void InitEditors() {
ceAllowFilter.Checked = gridView1.OptionsCustomization.AllowFilter;
ceFilterEditor.Checked = gridView1.OptionsFilter.AllowFilterEditor;
ceAdvDialog.Checked = gridView1.OptionsFilter.UseNewCustomFilterDialog;
ceFilterList.Checked = gridView1.OptionsFilter.AllowMRUFilterList;
ceColumnFilterList.Checked = gridView1.OptionsFilter.AllowColumnMRUFilterList;
InitEnabled();
}
void InitEnabled() {
ceFilterEditor.Enabled = ceAdvDialog.Enabled = ceFilterList.Enabled = ceColumnFilterList.Enabled = gridView1.OptionsCustomization.AllowFilter;
}
private void gridView1_ColumnFilterChanged(object sender, System.EventArgs e) {
gridView1.ExpandAllGroups();
}
private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e) {
if(e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) {
for(int i = e.Menu.Items.Count - 1; i >= 0; i--)
if(e.Menu.Items[i] != null) {
if(e.Menu.Items[i].Caption.IndexOf("Filter") == -1)
e.Menu.Items.RemoveAt(i);
else
e.Menu.Items[i].BeginGroup = false;
}
}
}
//<ceAllowFilter>
private void ceAllowFilter_CheckedChanged(object sender, System.EventArgs e) {
gridView1.OptionsCustomization.AllowFilter = ceAllowFilter.Checked;
if(!ceAllowFilter.Checked)
gridView1.ClearColumnsFilter();
else InitDemoFilter();
InitEnabled();
}
//</ceAllowFilter>
//<ceFilterEditor>
private void ceFilterEditor_CheckedChanged(object sender, System.EventArgs e) {
gridView1.OptionsFilter.AllowFilterEditor = ceFilterEditor.Checked;
}
//</ceFilterEditor>
//<ceAdvDialog>
private void ceAdvDialog_CheckedChanged(object sender, System.EventArgs e) {
gridView1.OptionsFilter.UseNewCustomFilterDialog = ceAdvDialog.Checked;
}
//</ceAdvDialog>
//<ceFilterList>
private void ceFilterList_CheckedChanged(object sender, System.EventArgs e) {
gridView1.OptionsFilter.AllowMRUFilterList = ceFilterList.Checked;
}
//</ceFilterList>
//<ceColumnFilterList>
private void ceColumnFilterList_CheckedChanged(object sender, System.EventArgs e) {
gridView1.OptionsFilter.AllowColumnMRUFilterList = ceColumnFilterList.Checked;
}
//</ceColumnFilterList>
//<sbInfo>
private void sbInfo_Click(object sender, System.EventArgs e) {
string[] stringInfo = new String[] {gridView1.FilterPanelText, gridView1.RowCount.ToString(),
gridView1.OptionsFilter.ColumnFilterPopupMaxRecordsCount.ToString(),
gridView1.OptionsFilter.ColumnFilterPopupRowCount.ToString(), gridView1.OptionsFilter.MRUColumnFilterListCount.ToString(),
gridView1.OptionsFilter.MRUFilterListCount.ToString(), gridView1.OptionsFilter.MRUFilterListPopupCount.ToString()};
CreateInfoForm(stringInfo, imageList2.Images[0], PointToScreen(new Point(sbInfo.Left + sbInfo.Width / 2, sbInfo.Top + sbInfo.Height / 2)));
}
void CreateInfoForm(string[] stringInfo, Image img, Point p) {
frmInfo frm = new frmInfo(stringInfo, img);
frm.Location = new Point(p.X, p.Y);
frm.ShowDialog();
}
//</sbInfo>
}
}