MOSS 의: DataForm Web Part 분석
95660 단어 form
1) DataSources: 데이터 소스, 단일 데이터 소스, 다 중 데이터 소스 링크, SharePoint 도 각종 데이터 소스 컨트롤 (XML, 웹 서비스, 데이터 베이스 등) 을 제공 합 니 다.SharePoint 의 단일 데이터 목록 작업 을 할 때 SPDataSource 컨트롤 을 사용 합 니 다. 이 글 은 주로 이 컨트롤 을 소개 합 니 다. 또한 다 중 데이터 소스 링크 와 응용 장면 을 간략하게 설명 할 것 입 니 다.
2) ParameterBindings: Web Part 의 모든 인자 가 여기에 포함 되 어 있 습 니 다.
3) DataFields: 웹 파 트 에 표시 할 수 있 는 모든 데이터 필드
4) XSL: XSLT, 데이터 원본 의 데 이 터 를 원 하 는 디 스 플레이 스타일 로 변환
DataForm 의 작업 과정 은 일반적으로 다음 과 같 습 니 다.
1) DataForm Web Part 는 매개 변 수 를 먼저 처리 합 니 다. 데이터 원본 에 매개 변 수 를 포함 하여 데 이 터 를 선별 할 수 있 습 니 다. XSLT 에 도 일부 매개 변 수 를 할당 해 야 할 수 있 습 니 다. 웹 위 젯 은 ParameterBindings 블록 에 있 는 모든 매개 변 수 를 데이터 원본 과 XSLT 에 ParameterKey 와 같은 매개 변수 로 할당 합 니 다.
2) 그리고 DataForm Web Part 는 데이터 원본 에 대응 하 는 데 이 터 를 되 돌려 주 는 XML 형식 데 이 터 를 추출 합 니 다.
< update > 우리 가 SharePoint Designer 에서 본 선별 창 은 일반적으로 데이터 원본 을 선별 하 는 데 사 용 됩 니 다. SPDatasource 의 Selectcommand 속성 < / update > 을 수정 합 니 다.
3) 마지막 으로 XSLT 를 이용 하여 데이터 원본 을 클 라 이언 트 에 게 되 돌려 줍 니 다.
우리 가 SharePoint Designer 에서 본 선별 창의 고급 XPath 선별 은 XSLT 차원 의 선별 입 니 다.
즉, 데이터 원본 선별 이 먼저 이 루어 진 다음 에 XSLT 가 데 이 터 를 하나씩 선별 하고 XSLT 의 선별 은 데이터 양 이 많 을 때 성능 에 영향 을 줄 수 있다 는 것 이다.따라서 특별한 수요 가 없 으 면 데이터 원본 을 선별 하고 XPath 를 사용 하지 않 는 것 이 좋 습 니 다.
------
다음은 DataSources, ParameterBindings 와 XSL 과 관련 된 정보 와 유용 한 링크 를 소개 합 니 다.
1)DataSources
SPDataSource 라 는 웹 컨트롤 은 여러 가지 데이터 원본 모드 가 있 습 니 다. ListItem (단일 목록 항목), List (특정한 목록), CrossList (크로스 목록), ListofLists (목록 집합, 목록 정보 표시), Webs (사이트 정보)
SPDataSource 컨트롤 에 대한 정보, SharePoint Designer Team 은 좋 은 블 로그 가 있 습 니 다: SPDataSource and Rollups with the Data View
ListItem 과 List 모드 에서 DataForm Web Part 의 SPDataSource 는 DataFormParameter 를 포함해 야 합 니 다. DataFormParameter 는 독립 된 매개 변수 클래스 입 니 다. DataForm Web Part 는 이 매개 변수 로 데이터 원본 목록 을 찾 는 동시에 DataFormParameter 도 특정한 ParameterKey: ListID, ListItemId, ListName, WebUrl 등 만 식별 합 니 다.
ListItem 모드 라면 (ListID or ListName) and ListItemId 인자 가 있어 야 합 니 다.
List 모드 라면 ListID 나 ListName 인자 가 있어 야 합 니 다.
기술: 맞 춤 형 페이지 를 이전 하려 면 ListName 인 자 를 사용 하여 목록 을 찾 아야 합 니 다. 이 유 는 간단 합 니 다. 목록 이름 은 이전 후 변 하지 않 지만 ListID 는 변 합 니 다.
CrossList, ListofLists, Webs 모드 에서 SPDataSource 의 SelectCommand 는 SPSiteDataQuery 의 조회 규칙 과 비슷 합 니 다. 예 를 들 어 < Lists > < / Lists > 로 현재 사이트 의 모든 목록 을 선택 할 수 있 습 니 다. 다음은 현재 사이트 목록 을 보 여 주 는 예 입 니 다.
<WebPartPages:DataFormWebPart runat="server" AllowConnect="True" PartImageSmall="" MissingAssembly="Can't exported"
IsIncludedFilter="" ExportMode="All" ID="g_eea4c5ed_0ae5_498b_9840_32b8409212b8" AllowRemove="True" FrameState="Normal"
ConnectionID="00000000-0000-0000-0000-000000000000" DetailLink="" ExportControlledProperties="True" IsIncluded="True"
sVisible="True" AllowEdit="True" Dir="Default" SuppressWebPartChrome="False" ViewContentTypeId="" PageSize="-1" FrameType="Default"
DataSourceID="" UseSQLDataSourcePaging="True" AllowHide="True" AllowMinimize="True" ShowWithSampleData="False" HelpMode="Modeless"
ViewFlag="0" Title="test1" HelpLink="" Description="" PartOrder="2" AllowZoneChange="True" PartImageLarge="" NoDefaultStyle="TRUE"
__MarkupType="vsattributemarkup" __WebPartId="{EEA4C5ED-0AE5-498B-9840-32B8409212B8}" __AllowXSLTEditing="true" WebPart="true" Height="" Width="">
<DataSources> <SharePoint:SPDataSource runat="server" SelectCommand="<Lists></Lists>" DataSourceMode="ListOfLists"
UseInternalName="True" ID="dataformwebpart1"></SharePoint:SPDataSource> </DataSources> <ParameterBindings>
<ParameterBinding Name="dvt_apos" Location="Postback;Connection"/> <ParameterBinding Name="UserID" Location="CAMLVariable"
DefaultValue="CurrentUserName"/> <ParameterBinding Name="Today" Location="CAMLVariable" DefaultValue="CurrentDate"/>
<ParameterBinding Name="ListName" Location="QueryString(ListName)" DefaultValue="test1"/> </ParameterBindings>
<DataFields>@__spAlertTemplate,__spAlertTemplate;@__spAllowContentTypes,__spAllowContentTypes;@__spAllowDeletion,__spAllowDeletion;
@__spAllowMultiResponses,__spAllowMultiResponses;@__spAnonymousPermMask,__spAnonymousPermMask;@__spAnonymousPermMask64,__spAnonymousPermMask64;
@__spAudit,__spAudit;@__spAuthor,__spAuthor;@__spBaseTemplate,__spBaseTemplate;@__spBaseType,__spBaseType;@__spCanReceiveEmail,
__spCanReceiveEmail;@__spContentTypes,__spContentTypes;@__spContentTypesEnabled,__spContentTypesEnabled;@__spCreated,__spCreated;
@__spCurrentChangeToken,__spCurrentChangeToken;@__spDefaultView,__spDefaultView;@__spDefaultViewUrl,__spDefaultViewUrl;
@__spDescription,__spDescription;@__spDirection,__spDirection;@__spDraftVersionVisibility,__spDraftVersionVisibility;
@__spEffectiveBasePermissions,__spEffectiveBasePermissions;@__spEmailAlias,__spEmailAlias;@__spEnableAssignToEmail,__spEnableAssignToEmail;
@__spEnableAttachments,__spEnableAttachments;@__spEnableMinorVersions,__spEnableMinorVersions;@__spEnableModeration,__spEnableModeration;
@__spEnableSyndication,__spEnableSyndication;@__spEnableVersioning,__spEnableVersioning;@__spEventReceivers,__spEventReceivers;
@__spEventSinkAssembly,__spEventSinkAssembly;@__spEventSinkClass,__spEventSinkClass;@__spEventSinkData,__spEventSinkData;
@__spExcludeFromTemplate,__spExcludeFromTemplate;@__spFields,__spFields;@__spFirstUniqueAncestor,__spFirstUniqueAncestor;
@__spFlags,__spFlags;@__spForceCheckout,__spForceCheckout;@__spForms,__spForms;@__spHasExternalEmailHandler,__spHasExternalEmailHandler;
@__spHasUniqueRoleAssignments,__spHasUniqueRoleAssignments;@__spHidden,__spHidden;@__spID,__spID;@__spImageUrl,__spImageUrl;
@__spInternalName,__spInternalName;@__spItemCount,__spItemCount;@__spItems,__spItems;@__spLastItemDeletedDate,__spLastItemDeletedDate;
@__spLastItemModifiedDate,__spLastItemModifiedDate;@__spLists,__spLists;@__spMultipleDataList,__spMultipleDataList;
@__spOnQuickLaunch,__spOnQuickLaunch;@__spOrdered,__spOrdered;@__spParentWeb,__spParentWeb;@__spParentWebUrl,__spParentWebUrl;
@__spPermissions,__spPermissions;@__spProperties,__spProperties;@__spPropertiesXml,__spPropertiesXml;@__spReadSecurity,__spReadSecurity;
@__spReusableAcl,__spReusableAcl;@__spRoleAssignments,__spRoleAssignments;@__spRootFolder,__spRootFolder;@__spRootFolderUrl,__spRootFolderUrl;
@__spSchemaXml,__spSchemaXml;@__spSendToLocationName,__spSendToLocationName;@__spSendToLocationUrl,__spSendToLocationUrl;
@__spShowUser,__spShowUser;@__spTitle,__spTitle;@__spVersion,__spVersion;@__spViews,__spViews;@__spWorkflowAssociations,__spWorkflowAssociations;
@__spWriteSecurity,__spWriteSecurity;</DataFields> <Xsl> <xsl:stylesheet xmlns:x=http://www.w3.org/2001/XMLSchema
xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt"
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp=http://schemas.microsoft.com/ASPNET/20
xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl=http://www.w3.org/1999/XSL/Transform
xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:output method="html" indent="no"/> <xsl:decimal-format NaN=""/> <xsl:param name="dvt_apos">'</xsl:param>
<xsl:param name="ListName">test1</xsl:param> <xsl:variable name="dvt_1_automode">0</xsl:variable> <xsl:template match="/"
xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d=http://schemas.microsoft.com/sharepoint/dsp
xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer
xmlns:SharePoint="Microsoft.SharePoint.WebControls"> <xsl:call-template name="dvt_1"/> </xsl:template>
<xsl:template name="dvt_1"> <xsl:variable name="dvt_StyleName">Table</xsl:variable>
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[@__spTitle=$ListName]"/>
<xsl:variable name="dvt_RowCount" select="count($Rows)" />
<xsl:variable name="dvt_IsEmpty" select="$dvt_RowCount = 0" /> <xsl:choose>
<xsl:when test="$dvt_IsEmpty"> <xsl:call-template name="dvt_1.empty" />
</xsl:when> <xsl:otherwise><table border="0" width="100%" cellpadding="2" cellspacing="0">
<tr valign="top"> <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
<th class="ms-vh" width="1%" nowrap="nowrap"></th>
</xsl:if><th class="ms-vh" nowrap="">__spTitle</th><th class="ms-vh" nowrap="">__spID</th></tr>
<xsl:call-template name="dvt_1.body"> <xsl:with-param name="Rows" select="$Rows"/>
</xsl:call-template> </table></xsl:otherwise> </xsl:choose>
</xsl:template> <xsl:template name="dvt_1.body"> <xsl:param name="Rows"/>
<xsl:for-each select="$Rows"> <xsl:call-template name="dvt_1.rowview"/> </xsl:for-each>
</xsl:template> <xsl:template name="dvt_1.rowview"> <tr> <xsl:if test="position() mod 2 = 1">
<xsl:attribute name="class">ms-alternating</xsl:attribute> </xsl:if><td class="ms-vb">
<xsl:value-of select="@__spTitle" /></td><td class="ms-vb">
<xsl:value-of select="@__spID" /></td> <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
<td class="ms-vb" width="1%" nowrap="nowrap">
<span ddwrt:amkeyfield="ID" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(@ID))" ddwrt:ammode="view"></span>
</td> </xsl:if> </tr> </xsl:template>
<xsl:template name="dvt_1.empty"> <xsl:variable name="dvt_ViewEmptyText">Nothing</xsl:variable>
<table border="0" width="100%"> <tr> <td class="ms-vb">
<xsl:value-of select="$dvt_ViewEmptyText" /> </td> </tr>
</table> </xsl:template> </xsl:stylesheet></Xsl> </WebPartPages:DataFormWebPart>
다 중 데이터 원본
저 희 는 SharePoint 에서 검색 항목 을 자주 사용 합 니 다. 그러나 SharePoint Designer 로 목록 을 맞 출 때 저희 가 얻 을 수 있 는 검색 항목 필드 가 모두 있 는 것 을 발견 할 수 있 습 니 다. 격 리 된 검색 필드 문자열 은 항목 의 정 보 를 더 많이 찾 아야 할 때 다 중 데이터 원본 을 사용 해 야 합 니 다. SharePoint Designer 에서 저 희 는 이름 을 부 릅 니 다."링크 원본" 을 만 들 었 습 니 다. 데이터 원본 의 상세 한 정 보 는 다음 그림 과 같 습 니 다.
위의 그림 에서 Rating 목록 은 test 1 목록 을 평가 하 는 목록 입 니 다. Rating 은 test 1 의 제목 을 조회 한 다음 에 한 보기에 서 test 1 의 제목 과 해당 하 는 제목 의 항목 의 평가 상황 (그리고 평가 날 짜 를 꺼 내야 합 니 다) 을 볼 필요 가 있 습 니 다. 다음 과 같 습 니 다.
코드 는 다음 과 같 습 니 다:
<WebPartPages:DataFormWebPart runat="server" IsIncluded="True" FrameType="None" NoDefaultStyle="TRUE" ViewFlag="0" Title="D?¨oy?Y???"
__markuptype="vsattributemarkup" __WebPartId="{43FE3CE1-BF73-4433-91B7-4F3545D4B808}" id="g_43fe3ce1_bf73_4433_91b7_4f3545d4b808">
<DataSources><SharePoint:AggregateDataSource runat="server" IsSynchronous="false" SeparateRoot="true" id="dataformwebpart1">
<sources><SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true" selectcommand="<View></View>">
<SelectParameters><asp:Parameter Name="ListID" DefaultValue="{84363D4D-19AD-4C8E-9743-B5EB85A8AF08}"/><asp:Parameter Name="WebURL"
DefaultValue="/test/"/></SelectParameters><DeleteParameters><asp:Parameter Name="ListID" DefaultValue="{84363D4D-19AD-4C8E-9743-B5EB85A8AF08}"/>
<asp:Parameter Name="WebURL" DefaultValue="/test/"/></DeleteParameters><UpdateParameters><asp:Parameter Name="ListID"
DefaultValue="{84363D4D-19AD-4C8E-9743-B5EB85A8AF08}"/><asp:Parameter Name="WebURL" DefaultValue="/test/"/></UpdateParameters>
<InsertParameters><asp:Parameter Name="ListID" DefaultValue="{84363D4D-19AD-4C8E-9743-B5EB85A8AF08}"/>
<asp:Parameter Name="WebURL" DefaultValue="/test/"/></InsertParameters></SharePoint:SPDataSource>
<SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true" selectcommand="<View></View>">
<SelectParameters><asp:Parameter Name="ListID" DefaultValue="{71C39267-AEB8-4111-B00F-161AC8C65EC4}"/><asp:Parameter Name="WebURL"
DefaultValue="/test/"/></SelectParameters><DeleteParameters><asp:Parameter Name="ListID" DefaultValue="{71C39267-AEB8-4111-B00F-161AC8C65EC4}"/>
<asp:Parameter Name="WebURL" DefaultValue="/test/"/></DeleteParameters><UpdateParameters><asp:Parameter Name="ListID"
DefaultValue="{71C39267-AEB8-4111-B00F-161AC8C65EC4}"/><asp:Parameter Name="WebURL" DefaultValue="/test/"/></UpdateParameters>
<InsertParameters><asp:Parameter Name="ListID" DefaultValue="{71C39267-AEB8-4111-B00F-161AC8C65EC4}"/><asp:Parameter Name="WebURL"
DefaultValue="/test/"/></InsertParameters></SharePoint:SPDataSource> </sources>
<aggregate><concat name="data source"><datasource name="Rating" id="0" Type="SPList"/><datasource name="test1" id="1" Type="SPList"/>
</concat></aggregate></SharePoint:AggregateDataSource></DataSources>
<datafields>@Title,?à¨o¨?a;@test1,test1;@rating,rating;@ID,ID;@ContentType,?¨2¨¨Y¨¤¨¤D¨a;@Modified,DT??¨o?à??;@Created,??????§¨o?à??;
@Author,??????§??;@Editor,DT????;@_UIVersionString,????à?;@Attachments,???t;@File_x0020_Type,???t¨¤¨¤D¨a;
@FileLeafRef,??3? (¨??¨?¨2?à¨a|죤);@FileDirRef,??¤??;@FSObjType,????¨¤¨¤D¨a;@_HasCopyDestinations,??¨?D????????à¨o;@_CopySource,????????;
@ContentTypeId,?¨2¨¨Y¨¤¨¤D¨a ID;@_ModerationStatus,¨|¨??¨2?á??¨??;@_UIVersion,UI ????à?;@Created_x0020_Date,??????§¨o?à??;@FileRef,URL ??¤??;
@Choices,Choices;</datafields> <XSL><xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x=http://www.w3.org/2001/XMLSchema
xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt"
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp=http://schemas.microsoft.com/ASPNET/20
xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl=http://www.w3.org/1999/XSL/Transform
xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:output method="html" indent="no"/> <xsl:decimal-format NaN=""/>
<xsl:param name="dvt_apos">'</xsl:param> <xsl:variable name="dvt_1_automode">0</xsl:variable>
<xsl:variable name="RatingRows" select="/dsQueryResponse/Rating/Rows/Row" />
<xsl:template match="/"> <xsl:call-template name="dvt_1"/> </xsl:template>
<xsl:template name="dvt_1"> <xsl:variable name="dvt_StyleName">Table</xsl:variable>
<xsl:variable name="Rows" select="/dsQueryResponse/test1/Rows/Row"/>
<xsl:variable name="dvt_RowCount" select="count($Rows)" />
<xsl:variable name="IsEmpty" select="$dvt_RowCount = 0" />
<xsl:variable name="dvt_IsEmpty" select="$dvt_RowCount = 0" /> <xsl:choose>
<xsl:when test="$dvt_IsEmpty">
<xsl:call-template name="dvt_1.empty" /> </xsl:when>
<xsl:otherwise><table border="0" width="100%" cellpadding="2" cellspacing="0">
<tr valign="top"> <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
<th class="ms-vh" width="1%" nowrap="nowrap"></th> </xsl:if>
<th class="ms-vh" nowrap="" style="width: 227px">?à¨o¨?a</th>
<th class="ms-vh" nowrap="" style="width: 89px">DT????</th> <th class="ms-vh" nowrap="">Rating</th></tr>
<xsl:call-template name="dvt_1.body"> <xsl:with-param name="Rows" select="$Rows" />
</xsl:call-template> </table></xsl:otherwise> </xsl:choose>
</xsl:template> <xsl:template name="dvt_1.body">
<xsl:param name="Rows"/> <xsl:for-each select="$Rows">
<xsl:variable name="XPath"> <xsl:call-template name="dvt.xpath" />
</xsl:variable> <xsl:call-template name="dvt_1.rowview">
<xsl:with-param name="Pos" select="concat('_', ddwrt:Counter())" />
<xsl:with-param name="XPath" select="$XPath" />
</xsl:call-template> </xsl:for-each> </xsl:template>
<xsl:template name="dvt_1.rowview"> <xsl:param name="Pos" /> <xsl:param name="XPath" />
<tr> <xsl:if test="position() mod 2 = 1">
<xsl:attribute name="class">ms-alternating</xsl:attribute> </xsl:if>
<xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1"> <td class="ms-vb" width="1%" nowrap="nowrap">
<span ddwrt:amkeyfield="" ddwrt:amkeyvalue="string($XPath)" ddwrt:ammode="view"></span>
</td> </xsl:if> <td class="ms-vb" style="width: 227px">
<xsl:value-of select="@Title"/> </td>
<td class="ms-vb" style="width: 89px">
<asp:Label runat="server" id="ff1{$Pos}" text={@Editor}
__designer:bind="{ddwrt:DataBind('u',concat('ff1',$Pos),'Text','','',string($XPath),'@Editor')}" />
</td> <td class="ms-vb">
<xsl:call-template name="Rating">
<xsl:with-param name="title"><xsl:value-of select="@Title" /></xsl:with-param> </xsl:call-template>
</td></tr> </xsl:template> <xsl:template name="Rating"> <xsl:param name="title" />
<xsl:variable name="rowsnumber" select="count($RatingRows[@test1=$title])"/> <xsl:choose>
<xsl:when test="$rowsnumber=0"> Not rated yet! </xsl:when>
<xsl:otherwise> <xsl:for-each select="$RatingRows[@test1=$title]">
<strong><xsl:value-of select="@rating"/></strong><xsl:text disable-output-escaping="yes">
&nbsp;</xsl:text>(RateDate:<xsl:value-of select="ddwrt:FormatDate(string(@Created), 2052, 5)"></xsl:value-of>) </xsl:for-each>
</xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="dvt.xpath">
<xsl:for-each select="ancestor-or-self::*"><xsl:value-of select="concat('/node()[',count(preceding-sibling::node())+1,']')" />
</xsl:for-each> </xsl:template> <xsl:template name="dvt_1.empty">
<xsl:variable name="dvt_ViewEmptyText">Not Rated yet!</xsl:variable> <table border="0" width="100%">
<tr> <td class="ms-vb">
<xsl:value-of select="$dvt_ViewEmptyText" /> </td>
</tr> </table> </xsl:template></xsl:stylesheet></XSL> <parameterbindings>
<ParameterBinding Name="dvt_apos" Location="Postback;Connection"/>
<ParameterBinding Name="UserID" Location="CAMLVariable" DefaultValue="CurrentUserName"/>
<ParameterBinding Name="Today" Location="CAMLVariable" DefaultValue="CurrentDate"/>
</parameterbindings></WebPartPages:DataFormWebPart>
: RatingRows Rating template XSLT 。
2)ParameterBindings
DataForm Web Part 에 필요 한 모든 매개 변 수 를 여기에 정의 합 니 다. 이 매개 변 수 는 DataForm 의 데이터 원본 과 XSLT 에 동시에 적 용 됩 니 다. DataForm Web Part 는 통 일 된 매개 변 수 를 정의 할 수 있 습 니 다. SPDataSource 의 Selectcommand 는 매개 변 수 를 포함 할 수 있 습 니 다. DataFormParameter 의 값 은 매개 변수 에서 나 올 수 있 습 니 다. XSLT 의 매개 변수 값 도 가능 합 니 다.통일 적 으로 정 의 된 매개 변수 입 니 다. DataForm 에서 정 의 된 매개 변 수 를 제공 하 는 인터페이스 는 다음 과 같 습 니 다.
5 개의 매개 변수 원본 을 제공 하 는 것 을 볼 수 있 습 니 다. 그 중에서:
> > 컨트롤: 페이지 에서 온 컨트롤 값
> > 폼: 이 건 지난 블 로그 에서 이 인 자 를 사 용 했 습 니 다 [SharePoint Designer 기법 - 1] DataView 와 Form Web Part 를 사용 하여 목록 의 키 워드 를 조회 합 니 다.
> > 검색 문자열: URL 의 인자
3)XSL
XSL 은 주로 XSLT 와 XPath 의 것 입 니 다. DataForm 을 잘 맞 추 려 면 비교적 숙련 된 XSLT 와 XPath 가 필요 합 니 다.
SharePoint 는 XSLT 의 확장 함 수 를 제공 합 니 다. 관련 정보:
SharePoint Data View Web Part Extension Functions in the ddwrt Namespace (2003 버 전이 지만 참고 가능)
SharePoint Data View Conditional Formatting based on user permissions (이것 은 WSS 3.0 의 새로운 확장 함수 IfHasRights 에 대한 상세 한 설명 입 니 다. 이 함 수 는 현재 사용자 가 목록 에 대해 데 이 터 를 선별 하 는 조건 으로 어떤 권한 을 가지 고 있 는 지 판단 하 는 데 사용 할 수 있 습 니 다. 실제 적 으로 유용 한 확장 함수 입 니 다)
DataForm 에 대한 이 야 기 는 아직 끝나 지 않 았 습 니 다!
데이터 디 스 플레이 에 대한 심도 있 는 맞 춤 형 제작 은 우리 의 목적 중 하나 이다. 우리 의 또 다른 목적 은 표 시 된 데이터 와 상호작용 을 하 는 것 이다 (맞 춤 형 페이지, 맞 춤 형 정렬, 맞 춤 형 그룹). 데 이 터 를 조작 하 는 것 이다 (추가, 수정, 삭제).DataForm 이 제공 하 는 기능 을 이용 하여 편리 하 게 맞 춤 형 편집 을 하고 페이지 를 추가 할 수 있 습 니 다. 다음 글 을 기다 리 지 못 한다 면 SharePoint Designer Team 의 Javascript 으로 편집 하고 페이지 를 추가 하 는 필드 컨트롤 에 관 한 글 을 먼저 볼 수 있 습 니 다. Using Javascript to Manipulate a List Form Field
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Formik을 사용하여 React JS에서 여러 양식을 업데이트하는 방법은 무엇입니까?유효성 검사와 함께 양식 제출을 처리하기 위해 Yup과 함께 Formik을 사용하고 있습니다. 저는 create form으로 성공적으로 지원했습니다. 그러나 업데이트 양식에서 다음과 같은 문제에 직면하고 있습니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.