年度变更建库软件5.0版本
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
3.8 KiB

6 months ago
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ESRI.ArcGIS.Geodatabase;
using KGIS.Plugin.LayerProperty.Utils;
namespace KGIS.Plugin.LayerProperty.View.UC_Controls
{
public partial class UCFieldsCombox : UserControl
{
public delegate void SelectedFieldChangedHandler(IField field);
private IFields m_Fields;
private bool m_HaveNone;
private bool m_IsNumberOnly;
private IField selectedField;
public event UCFieldsCombox.SelectedFieldChangedHandler SelectedFieldChanged;
public IField SelectedField
{
get
{
return this.selectedField;
}
set
{
this.selectedField = value;
}
}
public UCFieldsCombox()
{
InitializeComponent();
}
public void InitFieldList(IFields fields, string selected)
{
try
{
this.m_Fields = fields;
Utils.Util.InitFieldList(ref this.cmbFields, fields, selected);
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
}
public void InitFieldList(IFields fields, string selected, bool haveNone)
{
try
{
this.m_Fields = fields;
this.m_HaveNone = haveNone;
Utils.Util.InitFieldList(ref this.cmbFields, fields, selected, haveNone);
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
}
public void InitFieldList(IFields fields, string selected, bool haveNone, bool isNumberOnly)
{
try
{
this.m_Fields = fields;
this.m_HaveNone = haveNone;
this.m_IsNumberOnly = isNumberOnly;
Utils.Util.InitFieldList(ref this.cmbFields, fields, selected, haveNone, isNumberOnly);
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
}
public void InitFieldList(IFields fields, string selected, bool haveNone, bool isNumberOnly, bool useAlias)
{
try
{
this.m_Fields = fields;
this.m_HaveNone = haveNone;
this.m_IsNumberOnly = isNumberOnly;
this.chkUseAliasName.Checked = useAlias;
Utils.Util.InitFieldList(ref this.cmbFields, fields, selected, haveNone, isNumberOnly, useAlias);
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
}
private void cmbFields_SelectedIndexChanged(object sender, System.EventArgs e)
{
try
{
ItemInfo<IField, string> itemInfo = this.cmbFields.SelectedItem as ItemInfo<IField, string>;
if (itemInfo != null)
{
if (this.SelectedFieldChanged != null)
{
this.SelectedFieldChanged(itemInfo.InnerValue);
}
this.selectedField = itemInfo.InnerValue;
}
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
}
private void chkUseAliasName_CheckedChanged(object sender, System.EventArgs e)
{
if (this.m_Fields != null)
{
Utils.Util.InitFieldList(ref this.cmbFields, this.m_Fields, this.cmbFields.Text, this.m_HaveNone, this.m_IsNumberOnly, this.chkUseAliasName.Checked);
}
}
}
}