Вы можете использовать этот код, чтобы определить, является ли поле редактирования или нет:
public static bool IsFieldEditableInSP2010(SPField spField)
{
SPList spList = spField.ParentList;
SPFieldLookup fldLookup = spField as SPFieldLookup;
bool bCountRelated = fldLookup != null && fldLookup.CountRelated;
bool bMcolLookup = fldLookup != null && fldLookup.IsDependentLookup &&
fldLookup.LookupList != "Docs";
SPFieldType t = spField.Type;
if (t == SPFieldType.Computed ||
t == SPFieldType.File ||
t == SPFieldType.Recurrence ||
t == SPFieldType.CrossProjectLink ||
t == SPFieldType.AllDayEvent)
{
return false;
}
if (!spField.Reorderable &&
!bCountRelated &&
!(spField.ReadOnlyField && spField.Type == SPFieldType.User) &&
!(bMcolLookup && !spField.Hidden) &&
!spList.HasExternalDataSource)
{
return false;
}
if ((spField.ReadOnlyField && !bCountRelated && !bMcolLookup) ||
spList.HasExternalDataSource)
{
if(spField.Type == SPFieldType.Calculated || spField.Type == SPFieldType.User)
return true;
}
else
return true;
return false;
}
Любые усилия, до сих пор? –
Какой код вы уже пробовали? Где ваше исключение? –
Я могу получить все элементы или несколько элементов http://msdn.microsoft.com/en-us/library/office/ee534956(v=office.14).aspx. Чтобы получить конкретные элементы, нам нужно указать имя столбца. Я не хочу делать жесткое кодирование. – Yogesh