本文整理汇总了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;
}
}
示例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;
}
}
示例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