📄 mygridctrl.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Diagnostics;
using OWNERDATASET;
using expert;
namespace OWNERGRID
{
/// <summary>
/// myGridCtrl 的摘要说明。
/// </summary>
public abstract class myGridCtrl : System.Windows.Forms.DataGrid
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
protected MenuItem OpenMenu;
protected MenuItem SaveMenu;
protected MenuItem CloseMenu;
protected MenuItem SettingMenu;
public myGridCtrl()
{
// 该调用是 Windows.Forms 窗体设计器所必需的。
InitializeComponent();
// TODO: 在 InitializeComponent 调用后添加任何初始化
ContextMenu=new ContextMenu();
OpenMenu=new MenuItem("&Open",new System.EventHandler(this.Open_Click));
ContextMenu.MenuItems.Add(OpenMenu);
SaveMenu=new MenuItem("&Save",new System.EventHandler(this.Save_Click));
ContextMenu.MenuItems.Add(SaveMenu);
CloseMenu=new MenuItem("&Close",new System.EventHandler(this.Close_Click));
ContextMenu.MenuItems.Add(CloseMenu);
ContextMenu.Popup += new System.EventHandler(this.conmn_Popup);
SettingMenu=new MenuItem("S&etting",new System.EventHandler(this.Setting_Click));
ContextMenu.MenuItems.Add(SettingMenu);
ContextMenu.Popup += new System.EventHandler(this.conmn_Popup);
}
public abstract void Open(string filename) ;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Component Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// myGridCtrl
//
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
Navigate += new System.Windows.Forms.NavigateEventHandler(OnNavigate);
}
#endregion
protected void OnRowSelect(object sender, System.EventArgs a)
{
}
protected override void OnClick( EventArgs e )
{
base.OnClick(e);
int i=0;
i++;
}
private void OnNavigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
{
CaptionText=DataMember;
}
public void Open_Click(Object sender, System.EventArgs e)
{
Open("");
}
protected virtual void Save_Click(Object sender, System.EventArgs e)
{
this.CurDataSet.Update();
this.Update();
}
protected virtual void Setting_Click(Object sender, System.EventArgs e)
{
SetFilterDlg dlg=new SetFilterDlg();
DataViewManager dvm=DataSource as DataViewManager;
dlg.dvsSetting=dvm.DataViewSettings[DataMember];
dlg.ShowDialog(this);
dlg.Dispose();
}
private void Close_Click(Object sender, System.EventArgs e)
{
DataSource=null;
}
private void conmn_Popup(object sender, System.EventArgs e)
{
SaveMenu.Enabled=(DataSource!=null);
CloseMenu.Enabled=(DataSource!=null);
SettingMenu.Enabled=(DataSource!=null && DataMember.Length!=0);
OpenMenu.Text=(DataSource!=null ? "&Change":"Open");
int i=0;
i++;
}
public void ShowTable(DataTable table)
{
TabPage page=null;
TabControl control=null;
page=Parent as TabPage;
control=page.Parent as TabControl;
control.SelectedTab=page;
//DataMember=table.TableName;
return;
}
/*GetDataViewSelected 返回当前被选中的纪录的列表
* tablename 表或者视图的名字,如果为空,则是当前的表或视图
*/
public ArrayList GetDataViewSelected(string tablename)
{
ArrayList arr=new ArrayList();
if(tablename.Length<=0)
tablename=DataMember;
BindingManagerBase bm = BindingContext[DataSource, tablename];
for(int i=0;i<bm.Count;i++)
{
if(!IsSelected(i))
continue;
CurrentCell = new DataGridCell(i,1);
DataRowView drv = (DataRowView) bm.Current;
arr.Add(drv.Row);
}
return arr;
}
public myDataSet CurDataSet
{
get
{
DataViewManager dvm=DataSource as DataViewManager;
if(dvm==null)
{
return null;
}
return dvm.DataSet as myDataSet;
}
}
}//end class
}//end namespace OWNERGRID
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -