当前位置: 首页>>代码示例>>C#>>正文


C# ITable.AddField方法代码示例

本文整理汇总了C#中ITable.AddField方法的典型用法代码示例。如果您正苦于以下问题:C# ITable.AddField方法的具体用法?C# ITable.AddField怎么用?C# ITable.AddField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ITable的用法示例。


在下文中一共展示了ITable.AddField方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: addField

        public static void addField(ITable pTable, string FieldName, ESRI.ArcGIS.Geodatabase.esriFieldType FieldType, int FieldLength, int FieldPrecision, int FieldScale = 0)
        {
            // Error Handling
            const string functionName = "addField";

            IField pField = new Field();
            IFieldEdit pFieldEdit = pField as IFieldEdit;

            try
            {
                if (pTable.FindField(FieldName) < 0)
                {
                    pFieldEdit.Name_2 = FieldName;
                    pFieldEdit.Type_2 = FieldType;
                    pFieldEdit.Length_2 = FieldLength;

                    if (FieldType != ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString)
                    {
                        pFieldEdit.Precision_2 = FieldPrecision;
                        pFieldEdit.Scale_2 = FieldScale;
                    }

                    pField = pFieldEdit as IField;
                    pTable.AddField(pField);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(functionName + " :: " + e.Message, "SF10", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                pField = null;
                pFieldEdit = null;
            }
        }
开发者ID:GroupeDDM,项目名称:saisieforestiere10,代码行数:36,代码来源:SF10_clsBase.cs

示例2: bAddFields

        public static bool bAddFields(ITable pTable, IFields2 pNewFields)
        {
            // Error Handling
            const string functionName = "bAddFields";

            try
            {
                int i;
                IField pField;
                string sFieldName;

                for (i = 0; i < pNewFields.FieldCount; i++)
                {
                    pField = pNewFields.Field[i];
                    sFieldName = pField.Name;

                    IFieldEdit pFldEdit;

                    if (pTable.FindField(sFieldName) < 0 && pField.Type != esriFieldType.esriFieldTypeOID && pField.Type != esriFieldType.esriFieldTypeGUID)
                    {
                        pFldEdit = (IFieldEdit)pField;
                        pFldEdit.Editable_2 = true;
                        pTable.AddField(pField);
                    }
                }
                return true;
            }
            catch (Exception e)
            {
                MessageBox.Show(functionName + " :: " + e.Message, "SF10", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
        }
开发者ID:GroupeDDM,项目名称:saisieforestiere10,代码行数:33,代码来源:SF10_clsBase.cs

示例3: createField

 public string createField(ITable inFtr, string nm, esriFieldType FieldType,bool renameFldName=true)
 {
     string snm = getSafeFieldName(inFtr, nm);
     bool fieldWasRenamed = false;
     if(snm.StartsWith("_"))fieldWasRenamed=true;
     bool checkSettings = true;
     if(fieldWasRenamed&&!renameFldName)
     {
         checkSettings=false;
         snm = nm;
     }
     if (checkSettings)
     {
         ISchemaLock schemaLock = (ISchemaLock)inFtr;
         try
         {
             // A try block is necessary, as an exclusive lock might not be available.
             schemaLock.ChangeSchemaLock(esriSchemaLock.esriExclusiveSchemaLock);
             IField fld = new FieldClass();
             IFieldEdit fldE = (IFieldEdit)fld;
             fldE.AliasName_2 = nm;
             fldE.Name_2 = snm;
             fldE.Type_2 = FieldType;
             if (FieldType == esriFieldType.esriFieldTypeSmallInteger || FieldType == esriFieldType.esriFieldTypeSingle || FieldType == esriFieldType.esriFieldTypeInteger || FieldType == esriFieldType.esriFieldTypeDouble)
             {
                 fldE.DefaultValue_2 = 0;
             }
             inFtr.AddField(fldE);
         }
         catch (Exception exc)
         {
             // Handle appropriately for your application.
             Console.WriteLine(exc.Message);
             //MessageBox.Show(exc.Message);
         }
         finally
         {
             // Set the lock to shared, whether or not an error occurred.
             schemaLock.ChangeSchemaLock(esriSchemaLock.esriSharedSchemaLock);
         }
     }
     return snm;
 }
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:43,代码来源:geodatabaseutility.cs


注:本文中的ITable.AddField方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。