流程平台:子表控件(二) - 属性、事件、方法

子表控件的元数据如下:属性、事件、方法:

    public class SheetSubTableSZ : WebControl, ISheetControl
    {
        //     分隔符
        public const char Separator = ';';
        public const string SeqNoColumnName = "序号";
        //     添加按钮
        public Button Add;
        //     子表的编辑视图
        public Table EditTable;
        //     子表的显示视图
        public GridView ItemView;
        public Button Remove;
        public Label Result;
        public Button Update;
        public SheetSubTableSZ();
        public override Color BackColor { get; set; }
        //     当前表的列定义
        protected Dictionary<string, DataColumn> Columns { get; }
        //     绑定字段
        public string DataField { get; set; }
        //     如果使能,则显示编辑控件和选中列
        public override bool Enabled { get; set; }
        public override string ID { get; set; }
        //     新建的项目的ID
        public string NewItemIdsText { get; set; }
        //     是否是必输
        public bool Required { get; }
        //     从数据库中获得当前控件中行的数量
        public int RowCount { get; }
        //     对应的表名称
        public string TableName { get; }
        //     页脚加载事件
        public event EventHandler<SheetSubTableSZ.CountingEventArgs> Counting;
        //     编辑器初始化事件
        public event EventHandler<SheetSubTableSZ.EditorInitializingEventArgs> EditorInitializing;
        //     编辑器加载事件
        public event EventHandler<SheetSubTableSZ.EditorLoadingEventArgs> EditorLoading;
        //     编辑器保存事件
        public event EventHandler<SheetSubTableSZ.EditorSavingEventArgs> EditorSaving;
        public event EventHandler<GridViewCommandEventArgs> RowCommand;
        //     数据绑定事件
        public event EventHandler<GridViewRowEventArgs> RowDataBound;
        public void Add_Click(object sender, EventArgs e);
        public object AvgColumn(string ColumnName);
        //     创建执行SQL的对象
        protected ICommand CreateCommand();
        //     根据列名称检索列 
        public int GetColumnIndex(string ColumnName);
        public static Control GetDefaultControl(string ColumnName, Type ColumnType);
        public static string GetDefaultControlValue(string ColumnName, Type ColumnType, Control Control, ref bool Valid, ref string ErrorMessage);
        //     获得某个列的编辑控件
        public Control GetEditControl(string ColumnName);
        //     设置字段/列显示名称和描述
        public static void GridView_SetCellHeaderText(GridViewRowEventArgs e, string s_FieldName, string s_HeaderText);
        //     设置列不可见/隐藏
        public void GridView_SetCellNotVisible(GridViewRowEventArgs e, string s_FieldName);
        //     是否是保留系统列
        protected bool IsSysColumn(string ColumnName);
        //     加载数据
        public virtual void LoadDataField(ISheetPage SheetPage);
        //     加载所有数据//yzg:加载所有数据到GridView
        public void LoadTable();
        protected override void OnInit(EventArgs e);
        protected override void OnLoad(EventArgs e);
        protected override void Render(HtmlTextWriter writer);
        public virtual void SaveDataField(ISheetPage SheetPage);
        //     设置字段标签和控件的样式
        public void SetColumnCss(string columnName, string label_style, string control_style, string desc_style);
        //     设置字段的显示名称和描述
        public void SetColumnDisplayNameDesc(string columnName, string displayName, string description);
        //     设置列隐藏或显示
        public void SetColumnVisiable(string columnName, bool EditVisible, bool GridCellVisible);
        public static void SetDefaultControlValue(string ColumnName, Type ColumnType, Control Control, object Value);
        //     设置字段的显示名称和描述
        public void SetSortColumn(string columnName, SheetSubTableSZ.SortType sortType);
        //     设置子表控件GridView的模板列
        public void SetTemplateColumns(DataControlField columnName);
        public object SumColumn(string ColumnName);
        public void Update_Click(object sender, EventArgs e);
        //     验证输入
        public virtual bool ValidateDataField(ISheetPage SheetPage, SheetSubmitEventArgs Args, List<string> Errors);
        //     子表操作方式
        public enum ActionType
        {
            //     添加操作
            Add = 0,
            //     更新操作
            Update = 1,
            //     删除操作
            Remove = 2,
            //     加载数据操作
            LoadData = 3,
            //     无操作
            None = 4,
        }
        //     页脚的加载方式
        public enum CountingType
        {
            //     总和
            Sum = 0,
            //     平均
            Avg = 1,
            //     计数
            Count = 2,
            //     不做统计
            None = 3,
        }
        //     子表排序类型
        public enum SortType
        {
            //     升序
            Asc = 0,
            //     降序
            Desc = 1,
            //     默认
            Normal = 2,
        }
        //     页脚加载事件
        public class CountingEventArgs : EventArgs
        {
            public CountingEventArgs(string ColumnName, SheetSubTableSZ.CountingType CountingType);
            //     列名称
            public string ColumnName { get; }
            //     统计方式
            public SheetSubTableSZ.CountingType CountingType { get; set; }
        }
        //     编辑器初始化事件
        public class EditorInitializingEventArgs : EventArgs
        {
            public EditorInitializingEventArgs(string ColumnName, Type ColumnType);
            //     列名称
            public string ColumnName { get; }
            //     列的类型
            public Type ColumnType { get; }
            //     编辑控件
            public Control Control { get; set; }
            public string Description { get; set; }
            //     显示名称
            public string DisplayName { get; set; }
            //     该控件是否可见
            public bool Visible { get; set; }
        }
        //     编辑器加载事件
        public class EditorLoadingEventArgs : EventArgs
        {
            public EditorLoadingEventArgs(string ColumnName, Type ColumnType, object Value, Control Control);
            //     当前行所有单元格和值
            public Dictionary<string, string> Cells { get; set; }
            //     列名称
            public string ColumnName { get; }
            //     列类型
            public Type ColumnType { get; }
            //     编辑控件
            public Control Control { get; }
            //     如果设置了值,则把这个属性设置为true
            public bool Set { get; set; }
            //
            public object Value { get; }
        }
        public class EditorSavingEventArgs : EventArgs
        {
            public EditorSavingEventArgs(string ColumnName, Control Control);
            //     子表操作类型:Add , Update
            public SheetSubTableSZ.ActionType Action { get; set; }
            //     当前行所有单元格和值
            public Dictionary<string, string> Cells { get; set; }
            //     列名称
            public string ColumnName { get; }
            //     编辑控件
            public Control Control { get; }
            //     如果不合法则设置错误消息
            public string ErrorMessage { get; set; }
            //     是否获得
            public bool Get { get; set; }
            //     值是否合法
            public bool Valid { get; set; }
            //     值的字符串形式
            public string Value { get; set; }
        }
    }

 

posted on 2013-04-26 17:04  内部开发者  阅读(385)  评论(0编辑  收藏  举报

导航