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

📄 numberfielddefinition.cs

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


namespace Epi.Windows.MakeView.Dialogs.FieldDefinitionDialogs
{
    /// <summary>
    /// The Number Field Definition dialog
    /// </summary>
    public partial class NumberFieldDefinition : ContiguousFieldDefinition
	{
		#region	Fields
		private NumberField field;
		#endregion	//Fields

		#region	Private Methods

		private void PopulatePatterns()
		{
            System.Data.DataView patterns = (System.Data.DataView) AppData.Instance.DataPatternsDataTable.DefaultView;

			//System.Data.DataView patterns = page.GetMetadata().GetPatterns().DefaultView;
			patterns.RowFilter = "DataTypeId = " + ((int) DataType.Number).ToString();
			cbxPattern.DataSource = patterns;
			cbxPattern.DisplayMember = Epi.ColumnNames.EXPRESSION;
			cbxPattern.ValueMember = Epi.ColumnNames.PATTERN_ID;
		}

		private void LoadFormData()
		{
			txtPrompt.Text = field.PromptText;
			txtFieldName.Text = field.Name;
			chkReadOnly.Checked = field.IsReadOnly;
			chkRepeatLast.Checked = field.ShouldRepeatLast;
			chkRequired.Checked = field.IsRequired;

            int fieldType = (int)field.FieldType;
            if (!string.IsNullOrEmpty(field.Pattern))
            {
                cbxPattern.Text = field.Pattern;
            }
            else
            {   //set a default number pattern
                //cbxPattern.Text = "##";
                cbxPattern.Text = AppData.Instance.DataPatternsDataTable.GetDefaultPattern(AppData.Instance.FieldTypesDataTable.GetPatternIdByFieldId(fieldType));
            }
           
			promptFont = field.PromptFont;
			controlFont = field.ControlFont;
		}
		#endregion	//Private Methods

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

        /// <summary>
        /// Constructor for the Number Field Definition
        /// </summary>
        /// <param name="frm">The main form</param>
        /// <param name="page">The current page</param>
		public NumberFieldDefinition(MainForm frm, Page page) : base(frm)
		{
			InitializeComponent();
			this.mode = FormMode.Create;
			this.page = page;
			PopulatePatterns();
			cbxPattern.SelectedIndex = -1;
		}

        /// <summary>
        /// Constructor for the Number Field Definition
        /// </summary>
        /// <param name="frm">The main form</param>
        /// <param name="field">The number field</param>
		public NumberFieldDefinition(MainForm frm, NumberField field) : base(frm)
		{
			InitializeComponent();
			this.mode = FormMode.Edit;
			this.field = field;
			this.page = field.Page;
			PopulatePatterns();
			cbxPattern.SelectedIndex = -1;
			LoadFormData();
		}
		#endregion Constructors


		#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;
            if (!string.IsNullOrEmpty(cbxPattern.Text))
            {
                field.Pattern = cbxPattern.Text;
            }
            if (promptFont != null)
            {
                field.PromptFont = promptFont;
            }
            if (controlFont != null)
            {
                field.ControlFont = controlFont;
            }
            field.IsRequired = chkRequired.Checked;
            field.IsReadOnly = chkReadOnly.Checked;
            field.ShouldRepeatLast = chkRepeatLast.Checked;
        }

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

	}
}

⌨️ 快捷键说明

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