📄 gridfielddefinition.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 + -