⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gridfielddefinition.cs

📁 EpiInfo 开源的导航系统远程序,不知道在哪里下的了,分享一下,有兴趣的
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Epi.Fields;
using Epi.DataSets;

namespace Epi.Windows.MakeView.Dialogs.FieldDefinitionDialogs
{
    /// <summary>
    /// Field definition dialog for grid fields
    /// </summary>
    public partial class GridFieldDefinition : GenericFieldDefinition
    {

        #region Fields
        private GridField field;
        #endregion //Fields

        #region Constructors
        /// <summary>
        /// Default Constructor, for exclusive use by the designer.
        /// </summary>
        public GridFieldDefinition()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Constructor of the Grid Field Definition
        /// </summary>
        /// <param name="frm">The main form</param>
        /// <param name="page">The current page</param>
        public GridFieldDefinition(MainForm frm, Page page)
            : base(frm)
        {
            InitializeComponent();
            this.mode = FormMode.Create;
            this.page = page;
        }

        /// <summary>
        /// Constructor of the Grid Field Definition
        /// </summary>
        /// <param name="frm">The main form</param>
        /// <param name="field">A grid field</param>
        public GridFieldDefinition(MainForm frm, GridField field)
            : base(frm)
        {
            InitializeComponent();
            this.mode = FormMode.Edit;
            this.field = field;
            this.page = field.Page;
            LoadFormData();
        }
        #endregion Constructors

        #region Private Methods
        private void LoadFormData()
        {
            txtPrompt.Text = field.PromptText;
            txtFieldName.Text = field.Name;
            DataTable columnTable = new DataTable();
            foreach (GridColumn gridCol in field.Columns)
            {
                if (!(gridCol is PredefinedColumn) && (gridCol.Name != "FKey"))
                {
                    columnTable.Columns.Add(gridCol.Text);
                }
            }
            dgColumns.DataSource = columnTable;
        }
        #endregion //Private Methods

        #region Public Methods

        /// <summary>
        /// Sets the field's properties based on GUI values
        /// </summary>
        protected override void SetFieldProperties()
        {
            field.Name = txtFieldName.Text;
            field.PromptText = txtPrompt.Text;
        }

        /// <summary>
        /// Gets the field defined by this field definition dialog
        /// </summary>
        public override RenderableField Field
        {
            get
            {
                return field;
            }
        }
        #endregion	//Public Methods

        #region Event Handlers
        /// <summary>
        /// Shows the GridColumnsDialog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            GridColumnsDialog gridColumnsDialog = new GridColumnsDialog(this.mainForm,
                page, field, field.GetMetadata().GetPatterns().DefaultView, mode);
            gridColumnsDialog.ShowDialog();
            if (gridColumnsDialog.DialogResult == DialogResult.OK)
            {
                field = gridColumnsDialog.Grid;
                DataTable columnTable = new DataTable();
                foreach (GridColumn gridCol in field.Columns)
                {
                    columnTable.Columns.Add(gridCol.Text);
                }
                dgColumns.DataSource = columnTable;
            }
        }

        #endregion
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -