을 업데이트했습니다. 'multiline text'필드 유형을 기반으로 SharePoint에서 사용자 정의 필드 유형 (예 : 'Sample')을 만들었습니다. 이제 목록에 'Sample'유형의 새로운 열 ('test')을 만들었습니다. 몇 가지 목록 항목을 만들었습니다.프로그래밍 방식으로 SharePoint 사용자 정의 필드 유형 열 값
(편집 양식을 통해) SharePoint UI에서 열 값을 성공적으로 편집 할 수 있습니다. 그러나 모든 목록 항목에 대해 'test'열 값을 프로그램 적으로 수정하려고하면 해당 목록 항목의 'test'열 값이 null/empty가됩니다.
이 probem이 발생하는 이유는 무엇입니까?
SPSite site = new SPSite("site url")
SPWeb web = site.OpenWeb();
SPList list = web.Lists["MyList"];
SPListItem item = list.Items[0];
item["test"] = "xyz"; //becomes null after update
item["numCol"] = "34"; //Gets updated to new value 34 after update
web.AllowUnsafeUpdates = true;
item.Update();
하나 개 중요한 것은 :이 코드는 다른 목록의 eventhadler을 itemupdating에서 실행 다음은 내가 편집 사용하고
<?xml version="1.0" encoding="utf-8"?>
<FieldTypes>
<FieldType>
<Field Name="TypeName">Sample</Field>
<Field Name="ParentType">Note</Field>
<Field Name="TypeDisplayName">Sample</Field>
<Field Name="TypeShortDescription">Sample</Field>
<Field Name="UserCreatable">TRUE</Field>
<Field Name="ShowInListCreate">TRUE</Field>
<Field Name="ShowInSurveyCreate">TRUE</Field>
<Field Name="ShowInDocumentLibraryCreate">TRUE</Field>
<Field Name="ShowInColumnTemplateCreate">TRUE</Field>
<Field Name="FieldTypeClass">
SharePoint.Sample.FieldType, SharePoint.Sample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c5560aa45b5518dc
</Field>
<Field Name="FieldEditorUserControl">
/_controltemplates/FieldEditor.ascx
</Field>
<PropertySchema>
<Fields>
<Field Name="DisplayedListBoxProperty" DisplayName="DisplayedListBoxProperty"
Type="Text" Hidden="True">
<Default>"abc"</Default>
</Field>
</Fields>
</PropertySchema>
</FieldType>
</FieldTypes>
코드를 사용하고있는 filedtypes의 XML입니다.
코드를 공유 할 수 있다면 자신의 사용자 정의 필드 유형에 문제가있는 것 같습니다. –
코드 공유, SharePointObjectModel 또는 웹 서비스 사용 중입니까? –
이 위치로 이동하십시오. C : ₩ Program Files ₩ Common Files ₩ Microsoft Shared ₩ WebServer Extensions ₩ 12 ₩ TEMPLATE ₩ XML을 찾아 fldtypes_fieldname.xml 파일을 찾으십시오. 그런 다음 올바른지 확인하십시오. –