📄 setfilterdlg.cs
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using OWNERGRID;
using System.Data;
namespace OWNERGRID
{
/// <summary>
/// SetFilterDlg 的摘要说明。
/// </summary>
public class SetFilterDlg : System.Windows.Forms.Form
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
///
private DataViewSetting m_dvs;
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button OK;
private System.Windows.Forms.Button cancel;
private System.Windows.Forms.ComboBox fieldlist;
private System.Windows.Forms.Button getfieldbn;
private System.Windows.Forms.ComboBox valuelist;
private System.Windows.Forms.Button getvaluebn;
public System.Windows.Forms.TextBox filterstring;
public SetFilterDlg()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.filterstring = new System.Windows.Forms.TextBox();
this.OK = new System.Windows.Forms.Button();
this.cancel = new System.Windows.Forms.Button();
this.fieldlist = new System.Windows.Forms.ComboBox();
this.getfieldbn = new System.Windows.Forms.Button();
this.valuelist = new System.Windows.Forms.ComboBox();
this.getvaluebn = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// filterstring
//
this.filterstring.AllowDrop = true;
this.filterstring.Location = new System.Drawing.Point(8, 56);
this.filterstring.Multiline = true;
this.filterstring.Name = "filterstring";
this.filterstring.Size = new System.Drawing.Size(432, 96);
this.filterstring.TabIndex = 0;
this.filterstring.Tag = "filterstring";
this.filterstring.Text = "textBox1";
//
// OK
//
this.OK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.OK.Location = new System.Drawing.Point(48, 152);
this.OK.Name = "OK";
this.OK.TabIndex = 1;
this.OK.Text = "OK";
//
// cancel
//
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancel.Location = new System.Drawing.Point(208, 152);
this.cancel.Name = "cancel";
this.cancel.TabIndex = 2;
this.cancel.Text = "Cancel";
//
// fieldlist
//
this.fieldlist.Location = new System.Drawing.Point(16, 8);
this.fieldlist.Name = "fieldlist";
this.fieldlist.Size = new System.Drawing.Size(121, 20);
this.fieldlist.TabIndex = 3;
this.fieldlist.Text = "可选字段";
this.fieldlist.SelectedIndexChanged += new System.EventHandler(this.fieldlist_SelectedIndexChanged);
//
// getfieldbn
//
this.getfieldbn.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.getfieldbn.Location = new System.Drawing.Point(32, 32);
this.getfieldbn.Name = "getfieldbn";
this.getfieldbn.Size = new System.Drawing.Size(72, 16);
this.getfieldbn.TabIndex = 4;
this.getfieldbn.Text = "▼";
this.getfieldbn.Click += new System.EventHandler(this.getfieldbn_Click);
//
// valuelist
//
this.valuelist.Location = new System.Drawing.Point(256, 8);
this.valuelist.Name = "valuelist";
this.valuelist.Size = new System.Drawing.Size(121, 20);
this.valuelist.TabIndex = 5;
this.valuelist.Text = "字段取值";
this.valuelist.SelectedIndexChanged += new System.EventHandler(this.valuelist_SelectedIndexChanged);
//
// getvaluebn
//
this.getvaluebn.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.getvaluebn.Location = new System.Drawing.Point(272, 32);
this.getvaluebn.Name = "getvaluebn";
this.getvaluebn.Size = new System.Drawing.Size(72, 16);
this.getvaluebn.TabIndex = 6;
this.getvaluebn.Text = "▼";
this.getvaluebn.Click += new System.EventHandler(this.getvaluebn_Click);
//
// SetFilterDlg
//
this.AllowDrop = true;
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.CancelButton = this.cancel;
this.ClientSize = new System.Drawing.Size(448, 181);
this.ControlBox = false;
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.getvaluebn,
this.valuelist,
this.getfieldbn,
this.fieldlist,
this.cancel,
this.OK,
this.filterstring});
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SetFilterDlg";
this.Text = "设置过滤条件文本";
this.Load += new System.EventHandler(this.SetFilterDlg_Load);
this.ResumeLayout(false);
}
#endregion
private void SetFilterDlg_Load(object sender, System.EventArgs e)
{
if(dvsSetting==null)
return;
if(dvsSetting.Table==null)
return;
foreach(DataColumn col in dvsSetting.Table.Columns)
{
fieldlist.Items.Add(col.ColumnName);
}
fieldlist.SelectedIndex=0;
filterstring.Text=dvsSetting.RowFilter;
}
public DataViewSetting dvsSetting
{
get
{
return m_dvs;
}
set
{
m_dvs=value;
}
}
private void getfieldbn_Click(object sender, System.EventArgs e)
{
filterstring.SelectedText=fieldlist.SelectedItem.ToString();
}
protected override void OnClosed( EventArgs e)
{
base.OnClosed(e);
if(DialogResult==DialogResult.OK)
{
if(dvsSetting==null)
return;
if(dvsSetting.Table==null)
return;
dvsSetting.RowFilter=filterstring.Text;
dvsSetting.RowStateFilter=DataViewRowState.Added;
DataRow[] rows=dvsSetting.Table.Select(filterstring.Text);
dvsSetting.Table.Rows.Clear();
dvsSetting.Table.Rows.Add(rows);
}
}
private void fieldlist_SelectedIndexChanged(object sender, System.EventArgs e)
{
valuelist.Items.Clear();
valuelist.Text="";
if(dvsSetting.Table.Columns[fieldlist.SelectedItem.ToString()].DataType==typeof(string))
{
foreach(DataRow row in dvsSetting.Table.Rows)
{
object s=row[fieldlist.SelectedItem.ToString()];
int i=valuelist.Items.IndexOf(s);
if(i<0)
valuelist.Items.Add(s);
}
}
getfieldbn.Enabled=(fieldlist.SelectedIndex>=0);
valuelist.SelectedIndex=valuelist.Items.Count>=1 ? 0: -1;
}
private void getvaluebn_Click(object sender, System.EventArgs e)
{
if(valuelist.SelectedIndex<0)
return;
filterstring.SelectedText="\'"+ valuelist.SelectedItem.ToString()+"\'";
}
private void valuelist_SelectedIndexChanged(object sender, System.EventArgs e)
{
getvaluebn.Enabled=(valuelist.SelectedIndex>=0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -