Trosolwg:
(Y NEWYDDION DIWEDDARAF 12/04/07: Ychwanegwyd adnodd diddorol arall ar y diwedd cysylltu i flog arall sy'n mynd i'r afael hyn drwy gyfrwng y we rhan diddorol iawn)
Mae'r cofnod blog hwn yn disgrifio sut i greu graff bar yn SharePoint. Mae hyn yn gweithio mewn amgylcheddau WSS a MOSS fel dim ond mae'n dibynnu ar y rhan o'r we farn data.
Y dull cyffredinol yw fel a ganlyn:
- Greu rhestr neu Llyfrgell ddogfen sy'n cynnwys y data yr ydych am i graff.
- Gosod y Llyfrgell dogfen gysylltiedig / personol rhestr ar dudalen a'i droi yn rhan we farn data (DVWP).
- Addasu XSL y DVWP i gynhyrchu HTML sy'n dangos fel graff.
Senario Busnes / Setup:
Yr wyf wedi creu rhestr bersonol gyda y golofn teitl safon ac un golofn ychwanegol, "Statws". Modelau hwn (iawn simplistically) "awdurdodiad ar gyfer treuliau" senario lle mae teitl yn cynrychioli y prosiect a statws y gwerth o'r rhestr o:
- Arfaethedig
- Yn y broses
- Arafu
Y nod yw cynhyrchu graff bar llorweddol rhyngweithiol sy'n dangos codau hyn statws.
Mae yn cynnwys y rhestr ac mae'n edrych fel hyn:
Creu rhan o'r we farn Data:
Greu y DVWP drwy ychwanegu rhestr bersonol i dudalen (Tudalen safle yn fy achos i) a dilyn y cyfarwyddiadau yma (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).
Yn ogystal â chreu y DVWP yn unig, hefyd mae angen inni osod yr eiddo tudalennu i ddangos pob rhes ar gael. I mi, hwn yn edrych rhywbeth fel hyn:
Ar y pwynt hwn, Yr wyf bob amser yn agos ddogfen raglennu sengl a y porwr. Yna yr wyf yn ail-agor y dudalen gan ddefnyddio porwr y. Mae hyn yn osgoi ddamweiniol ymhel hyd y cynllun rhan we ar y dudalen.
Addasu y XSLT:
Mae bellach yn bryd i addasu y XSLT.
Yr wyf bob amser yn defnyddio'r stiwdio gweledol ar gyfer hyn. (Gweler yma ar gyfer Nodyn pwysig am intellisense a bydd yn eich helpu llawer).
Rwyf yn creu prosiect gwag ychwanegu pedair ffeil newydd (disodli geiriau "gwreiddiol" a "newydd" fel y bo'n briodol):
- Original.xslt
- New.xslt
- Params.xml gwreiddiol
- Params.xml newydd
Yn fy achos, mae'n edrych fel hyn:
Addasu rhan we ac anfon copi params a XSL i'r "gwreiddiol" fersiwn yn stiwdio gweledol.
Y nod yma yw achosi XSL i drawsnewid y canlyniadau a gawn yn ôl gan yr ymholiad DVWP i HTML golygu fel graff.
I'r perwyl hwn, Mae'n helpu i ystyried yn gyntaf sut y HTML dylid edrych cyn inni gael eu drysu gan y gwallgofrwydd a elwir yn "XSL". (I fod yn glir, Mae'r canlynol yn unig enghraifft; Peidiwch â theipio neu copïwch/pastiwch i stiwdio gweledol. Rwyf yn darparu ergyd llawn yn fan cychwyn ar gyfer hynny yn ddiweddarach yn yr awgrymir). Yn y graff sampl canlynol wedi'u rendro fel y HTML yn syth ar ôl:
HTML cyfatebol:
<html> <corff> <canolfan> <Tabl lled = 80%> <tr><TD><canolfan>Graff Bar llorweddol</TD></tr> <tr> <alinio Td = "Canolfan"> <ffin tabl = "1" lled = 80%> <tr> <Td lled = 10%>Agored</TD> <TD><Padin celloedd tabl ="0" cellspacing ="0" ffin = lled 0 = 50%><tr bgcolor = coch><TD> </TD></tr></tabl></TD> </tr> <tr> <Td lled = 10%>Ar gau</TD> <TD><Padin celloedd tabl ="0" cellspacing ="0" ffin = lled 0 = 25%><tr bgcolor = coch><TD> </TD></tr></tabl></TD> </tr> <tr> <Td lled = 10%>Arafu</TD> <TD><Padin celloedd tabl ="0" cellspacing ="0" ffin = lled 0 = 25%><tr bgcolor = coch><TD> </TD></tr></tabl></TD> </tr> </tabl> </TD> </tr> </tabl> </corff> </html> |
Defnyddiais dull farw syml i greu fy bariau drwy osod y lliw cefndir mewn rhes i "coch".
Yma cludfwyd yw hyn: Yn y diwedd, cyfan rydym yn ei wneud yw creu HTML gyda rhesi a cholofnau.
Templed XSLT:
Dwi wedi fy copïo XSLT sy'n creu graff bar llorweddol. Mae'n eithaf da sylwadau felly ni fydd ychwanegu llawer yma heblaw am nodiadau hyn:
- Dechreuais gyda y XSL a roddodd dylunydd SharePoint imi pan wyf yn Gyntaf wedi creu y DVWP diofyn.
- Llwyddodd hyn dorri i lawr gan y ddogfen raglennu sengl 657 llinellau i 166 llinellau.
- Nid oedd yr lolian gyda ffeil XML paramedrau (ar wahân i y XSL a byddwch yn gwybod beth a olygaf pan fyddwch yn mynd i addasu y DVWP ei hun; Ceir dwy ffeil a gallwch addasu). Fodd bynnag,, er mwyn symleiddio, Oedd yn cael gwared bron pob un ohonynt gan y XSL. Mae hyn yn golygu os ydych am wneud defnydd o'r paramedrau hynny, Mae angen i ychwanegu eu diffiniadau newidiol y XSL chi. Bydd hynny'n hawdd ers y bydd gennych y diffiniadau newidiol XSL gwreiddiol yn eich prosiect, stiwdio gweledol.
- Dylech fod yn gallu copïo a gludo hyn uniongyrchol yn eich prosiect stiwdio gweledol. Yna, tynnu fy nghais a rhowch eich hun yn galw i "ShowBar".
- Dril i lawr gwaith gan greu <a href> fel hyn: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Gall fod yn dechneg hon o werth mewn cyd-destunau eraill. Yn gyntaf, Yr oeddwn yn meddwl y byddai yn gorfod cydymffurfio â fformat mwy cymhleth: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, ond yn fy amgylchedd Nid yw hynny'n angenrheidiol. Yn y rhestr URL yn trosglwyddo i ni gan SharePoint felly mae'n eithaf hawdd i generalize.
Yma mae'n:
<XSL:Taflen arddull fersiwn="1.0" Peidiwch â chynnwys-canlyniad-rhagddodiaid="RS z o s ddwrt dt msxsl" |
Y canlyniadau:
Mae y XSL uchod yn cynhyrchu graff hwn:
Dril i lawr y data sylfaenol drwy glicio ar y Cod statws:
Meddyliau i gloi:
Gall cyffredinoli'n hyn?
Dwi'n caru cysyniad hwn graffiau, ond mae'n gas gennyf y ffaith bod gennyf i fynd i mewn a gwneud codio llaw cymaint o. Dwi yn cael ychydig o ystyriaeth i p'un a y gall eu cyffredinoli'n ac yr wyf yn optimistaidd, ond yr wyf hefyd yn ofni ychydig fod wal frics rywle ar hyd y llwybr a fydda i ddim yn cynnig unrhyw weithio o amgylch. Os oes gan unrhyw un syniadau da ar hyn, Gwnewch nodyn yn y sylwadau neu e-bost ataf.
Graffiau fertigol:
Dyma graff bar llorweddol. Mae'n sicr yn bosibl i greu graff fertigol. Ond mae angen inni newid y HTML. Byddai yn dechrau yr un ffordd: Greu cynrychiolaeth HTML graff bar fertigol a ffigur wedyn sut i gael hynny drwy XSL. Os bydd unrhyw un sydd â diddordeb yn hynny, Gellid fy mherswadio i arni a gweithio allan y kinks. Os bydd rhywun wedi gwneud hynny eisoes, rhowch wybod i mi a byddaf yn falch o gysylltu â'ch blog 🙂
Credaf mai'r her gyda graff fertigol yw bod y labeli ar gyfer y graff yn fwy anodd i reoli, ond yn sicr nid amhosibl.
Gotcha enw maes:
Leiaf dau beth i edrych allan ar gyfer eich enwau caeau.
Cyntaf, Mae enw cae gyda lle i fod wedi dianc yn y XSL. Hyn mae'n debyg y bydd mater yma:
<XSL:amrywiol Enw="totalProposed"
dewis="cyfrif(/dsQueryResponse/rhesi/rhes[normaleiddio'r gofod(@Status) = 'Arfaethedig'])" />
Os eich "statws" Mae Colofn mewn gwirionedd a enwir "Cod statws" yna mae angen ichi ei gyfeiriad fel "Status_x0020_Code":
<XSL:amrywiol Enw="totalProposed"
dewis="cyfrif(/dsQueryResponse/rhesi/rhes[normaleiddio'r gofod(@Status_x0020_Code) = 'Arfaethedig'])" />Ail, ac yr wyf braidd yn niwlog ar hyn, ond mae hefyd angen i chi fod ar y rhybudd ar gyfer newid enw'r maes. Os byddwch yn enwi eich maes "Cod statws" ac yna yn ddiweddarach ar, ei hailenwi i "AFE statws", enw"mewnol" Nid yw newid. Bydd yr enw mewnol yn dal i fod "Cod statws" a rhaid cyfeirio at fel "Status_x0020_Code". Y "adnoddau eraill" Gall cysylltiadau yn helpu i wneud diagnosis a chywiro y math hwn o broblem.
Am y lliw:
Cydiais "coch" oherwydd mae'n bleser i mi ar hyn o bryd. Ni fyddai rhywbeth mawr yn dangos lliwiau gwahanol er mwyn darparu mwy na dim ond disgrifiad gweledol o nifer, ond hefyd i ddarparu KPI yn ddefnyddiol. Er enghraifft,, Os oedd y ganran o "wedi arafu" Mae y AFE > 10% yna dangos coch, fel arall mae'n dangos ddu. Defnyddio <XSL:dewis> i gyflawni hyn.
Adnoddau eraill:
- Benderfynu ar enw mewnol (ac eraill gwybodaeth dda) ar gyfer y data yn y rhestr: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!134.entry
- Yn dangos y data a ddarperir gan SharePoint (XML amrwd): http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!190.entry
- Cael yr ymadrodd XPATH golofn penodol: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!155.entry
- Dull arall gan ddefnyddio OWA(?). Wedi imi nid yn tyrchu i mewn iddo, ond yn edrych yn addawol, arbennig ar gyfer siartiau cylch: http://www.waka.dk/Blog/PermaLink,guid,e2532e71-d774-4ac9-8f25-883964b830f4.aspx
Trawsnewid hapus!
<diwedd />