本文整理汇总了C#中DataTable.GetEnumType方法的典型用法代码示例。如果您正苦于以下问题:C# DataTable.GetEnumType方法的具体用法?C# DataTable.GetEnumType怎么用?C# DataTable.GetEnumType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataTable
的用法示例。
在下文中一共展示了DataTable.GetEnumType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EditorDataGUI
SingleData EditorDataGUI(DataTable table, SingleData data)
{
try
{
List<string> keys = table.TableKeys;
for (int i = 0; i < keys.Count; i++)
{
string keyTmp = keys[i];
FieldType type = table.GetFieldType(keyTmp);
if (i != 0)
{
bool cancelDefault = false;
EditorGUILayout.BeginHorizontal();
if (data.ContainsKey(keyTmp))
{
EditorGUILayout.LabelField("[" + keyTmp + "]");
if (GUILayout.Button("使用默认值"))
{
data.Remove(keyTmp);
EditorGUILayout.EndHorizontal();
continue;
}
}
else
{
EditorGUILayout.LabelField("[" + keyTmp + "] (默认值)");
if (GUILayout.Button("取消默认值"))
{
cancelDefault = true;
}
}
EditorGUILayout.EndHorizontal();
//EditorGUI.indentLevel++;
EditorGUI.indentLevel++;
//非默认值情况
if (data.ContainsKey(keyTmp))
{
EditorGUILayout.LabelField("字段名", keyTmp);
EditorGUILayout.LabelField("注释", table.GetNote(keyTmp));
string newContent = EditorUtilGUI.FieldGUI_TypeValue(type, data[keyTmp], table.GetEnumType(keyTmp));
if (newContent != data[keyTmp])
{
data[keyTmp] = newContent;
}
}
//如果是默认值则走这里
else
{
EditorGUILayout.LabelField("字段名", keyTmp);
EditorGUILayout.LabelField("注释", table.GetNote(keyTmp));
string newContent = "";
if (table.m_defaultValue.ContainsKey(keyTmp))
{
newContent = new SingleField(type, table.GetDefault(keyTmp), table.GetEnumType(keyTmp)).m_content;
}
else
{
newContent = new SingleField(type, null, table.GetEnumType(keyTmp)).m_content;
}
if (type != FieldType.Enum)
{
EditorGUILayout.LabelField("字段类型", type.ToString());
}
else
{
EditorGUILayout.LabelField("字段类型", type.ToString() + "/" + table.GetEnumType(keyTmp));
}
EditorGUILayout.LabelField("(默认)字段内容", new SingleField(type, newContent, table.GetEnumType(keyTmp)).GetShowString());
if (cancelDefault)
{
data.Add(keyTmp, newContent);
}
}
EditorGUI.indentLevel--;
//EditorGUI.indentLevel--;
}
EditorGUILayout.Space();
}
}
catch(Exception e)
{
EditorGUILayout.TextArea(e.ToString(),EditorGUIStyleData.s_ErrorMessageLabel);
}
return data;
//.........这里部分代码省略.........