전역 옵션 집합 옵션 삽입, 업데이트, 삭제 및 순서 지정
게시 날짜: 2016년 11월
적용 대상: Dynamics CRM 2015
다음 코드 샘플에서는 전역 옵션 집합에서 옵션 삽입, 업데이트, 삭제 및 순서 설정 방법을 보여 줍니다.
이 항목의 내용
새 옵션 삽입
옵션 업데이트
옵션 삭제
옵션 순서 설정
새 옵션 삽입
다음 샘플은 InsertOptionValueRequest를 사용하여 전역 옵션 집합에 새 옵션을 추가하는 방법을 보여 줍니다.
// Use InsertOptionValueRequest to insert a new option into a
// global option set.
InsertOptionValueRequest insertOptionValueRequest =
new InsertOptionValueRequest
{
OptionSetName = _globalOptionSetName,
Label = new Label("New Picklist Label", _languageCode)
};
// Execute the request and store the newly inserted option value
// for cleanup, used in the later part of this sample.
_insertedOptionValue = ((InsertOptionValueResponse)_serviceProxy.Execute(
insertOptionValueRequest)).NewOptionValue;
//Publish the OptionSet
PublishXmlRequest pxReq2 = new PublishXmlRequest { ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>", _globalOptionSetName) };
_serviceProxy.Execute(pxReq2);
' Use InsertOptionValueRequest to insert a new option into a
' global option set.
Dim insertOptionValueRequest As InsertOptionValueRequest = New InsertOptionValueRequest With {
.OptionSetName = _globalOptionSetName,
.Label = New Label("New Picklist Label", _languageCode)
}
' Execute the request and store the newly inserted option value
' for cleanup, used in the later part of this sample.
_insertedOptionValue =
(CType(_serviceProxy.Execute(insertOptionValueRequest), InsertOptionValueResponse)).NewOptionValue
'Publish the OptionSet
Dim pxReq2 As PublishXmlRequest = New PublishXmlRequest With {
.ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>", _globalOptionSetName)
}
_serviceProxy.Execute(pxReq2)
옵션 업데이트
다음 샘플은 UpdateOptionValueRequest를 사용하여 전역 옵션 집합에서 옵션을 업데이트하는 방법을 보여 줍니다.
// In order to change labels on option set values (or delete) option set
// values, you must use UpdateOptionValueRequest
// (or DeleteOptionValueRequest).
UpdateOptionValueRequest updateOptionValueRequest =
new UpdateOptionValueRequest
{
OptionSetName = _globalOptionSetName,
// Update the second option value.
Value = optionList[1].Value.Value,
Label = new Label("Updated Option 1", _languageCode)
};
_serviceProxy.Execute(updateOptionValueRequest);
//Publish the OptionSet
PublishXmlRequest pxReq3 = new PublishXmlRequest { ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>", _globalOptionSetName) };
_serviceProxy.Execute(pxReq3);
' In order to change labels on option set values (or delete) option set
' values, you must use UpdateOptionValueRequest
' (or DeleteOptionValueRequest).
Dim updateOptionValueRequest As UpdateOptionValueRequest =
New UpdateOptionValueRequest With {
.OptionSetName = _globalOptionSetName,
.Value = optionList(1).Value.Value,
.Label = New Label("Updated Option 1", _languageCode)
}
' Update the second option value.
_serviceProxy.Execute(updateOptionValueRequest)
'Publish the OptionSet
Dim pxReq3 As PublishXmlRequest =
New PublishXmlRequest With {
.ParameterXml =
String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>",
_globalOptionSetName)
}
_serviceProxy.Execute(pxReq3)
옵션 삭제
다음 샘플은 DeleteOptionValueRequest를 사용하여 전역 옵션 집합에서 옵션을 삭제하는 방법을 보여 줍니다.
// Use the DeleteOptionValueRequest message
// to remove the newly inserted label.
DeleteOptionValueRequest deleteOptionValueRequest =
new DeleteOptionValueRequest
{
OptionSetName = _globalOptionSetName,
Value = _insertedOptionValue
};
// Execute the request.
_serviceProxy.Execute(deleteOptionValueRequest);
' Use the DeleteOptionValueRequest message
' to remove the newly inserted label.
Dim deleteOptionValueRequest As DeleteOptionValueRequest =
New DeleteOptionValueRequest With {
.OptionSetName = _globalOptionSetName,
.Value = _insertedOptionValue
}
' Execute the request.
_serviceProxy.Execute(deleteOptionValueRequest)
옵션 순서 설정
다음 샘플은 OrderOptionRequest를 사용하여 전역 옵션 집합에서 옵션 순서를 설정하는 방법을 보여 줍니다.
// Change the order of the original option's list.
// Use the OrderBy (OrderByDescending) linq function to sort options in
// ascending (descending) order according to label text.
// For ascending order use this:
var updateOptionList =
optionList.OrderBy(x => x.Label.LocalizedLabels[0].Label).ToList();
// For descending order use this:
// var updateOptionList =
// optionList.OrderByDescending(
// x => x.Label.LocalizedLabels[0].Label).ToList();
// Create the request.
OrderOptionRequest orderOptionRequest = new OrderOptionRequest
{
// Set the properties for the request.
OptionSetName = _globalOptionSetName,
// Set the changed order using Select linq function
// to get only values in an array from the changed option list.
Values = updateOptionList.Select(x => x.Value.Value).ToArray()
};
// Execute the request
_serviceProxy.Execute(orderOptionRequest);
//Publish the OptionSet
PublishXmlRequest pxReq4 = new PublishXmlRequest { ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>", _globalOptionSetName) };
_serviceProxy.Execute(pxReq4);
' Change the order of the original option's list.
' Use the OrderBy (OrderByDescending) linq function to sort options in
' ascending (descending) order according to label text.
' For ascending order use this:
Dim updateOptionList = optionList.OrderBy(Function(x) x.Label.LocalizedLabels(0).Label).ToList()
' For descending order use this:
' var updateOptionList =
' optionList.OrderByDescending(
' x => x.Label.LocalizedLabels[0].Label).ToList();
' Create the request.
Dim orderOptionRequest As OrderOptionRequest =
New OrderOptionRequest With {
.OptionSetName = _globalOptionSetName,
.Values = updateOptionList.Select(Function(x) x.Value.Value).ToArray()
}
' Set the properties for the request.
' Set the changed order using Select linq function
' to get only values in an array from the changed option list.
' Execute the request
_serviceProxy.Execute(orderOptionRequest)
'Publish the OptionSet
Dim pxReq4 As PublishXmlRequest =
New PublishXmlRequest With {
.ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>",
_globalOptionSetName)
}
_serviceProxy.Execute(pxReq4)
참고 항목
전역 옵션 집합 사용자 지정
전역 옵션 집합 메시지
전역 옵션 집합 메타데이터 값
© 2017 Microsoft. All rights reserved. 저작권 정보