بررسی اجمالی:
(تکمیلی 12/04/07: یکی دیگر از منابع جالب در پایان لینک دادن به وبلاگ دیگری که به این طریق بخشی از وب بسیار جالب اضافه شده)
This blog entry describes how to create a bar graph in SharePoint. This works in both WSS and MOSS environments as it only depends upon the data view web part.
رویکرد کلی به شرح زیر است:
- ایجاد یک لیست یا کتابخانه سند است که شامل داده های شما به گراف می خواهید.
- محل کتابخانه سند همراه / لیست های سفارشی را بر روی صفحه و تبدیل آن به داده ها مشاهده وب بخش (DVWP).
- اصلاح XSL DVWP را برای تولید HTML است که به عنوان یک گراف را نشان می دهد.
سناریوی کسب و کار / برپایی:
من ایجاد کرده است یک لیست سفارشی با ستون عنوان مقاله: استاندارد و یک ستون اضافی, "Status". This models (بسیار ساده انگارانه) an "Authorization For Expense" سناریو که در آن عنوان نشان دهنده پروژه و وضعیت یک مقدار از لیست:
- مطرح
- در فرایند
- متوقف شده
هدف این است که برای تولید یک گراف تعاملی نوار افقی که این کدهای وضعیت را نشان می دهد.
من لیست جمعیت اند و آن را مانند این به نظر می رسد:
ایجاد وب سایت نمایش داده قسمت:
به ایجاد DVWP با اضافه کردن لیست های سفارشی به یک صفحه (صفحه سایت در مورد من) و به دنبال دستورالعمل ها اینجا (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).
در علاوه بر این به سادگی با ایجاد DVWP, we also need to set the paging property to show all available rows. برای من, این به نظر می رسد چیزی شبیه به این:
در این مرحله, I always close SPD and the browser. I then re-open the page using the browser. This avoids accidentally mucking up the web part layout on the page.
اصلاح XSLT:
در حال حاضر زمان برای تغییر XSLT.
I always use visual studio for this. (دیدن اینجا نکته مهم در مورد INTELLISENSE که به شما مقدار زیادی کمک خواهد کرد).
ایجاد یک پروژه خالی اضافه کردن چهار فایل های جدید (replacing the words "Original" and "New" به عنوان مناسب):
- Original.xslt
- New.xslt
- Params.xml مقاله
- Params.xml جدید
در مورد من, مثل این به نظر می رسد:
Modify the web part and copy the params and XSL to the "Original" نسخه در ویژوال استودیو.
هدف در اینجا این است که باعث XSL برای تبدیل نتایج ما به عقب بر گردیم به از پرس و جو DVWP به HTML است که به عنوان یک گراف ارائه.
برای این منظور, it helps to first consider what the HTML should look like before we get confused by the insanity that is known as "XSL". (روشن, شرح زیر است که به سادگی یک مثال; don’t type it or copy/paste into visual studio. I provide a full blow starting point for that later in the write-up). The following sample graph is rendered as per the HTML immediately following:
HTML مسئول:
<اچ تی ام ال> <بدن> <مرکز> <جدول عرض = 80٪> <TR><فلش><مرکز>نمودار میله ای افقی</فلش></TR> <TR> <td align="center"> <table border="1" عرض = 80٪> <TR> <عرض TD = 10٪>باز</فلش> <فلش><جدول فاصلهگذاری ="0" cellspacing ="0" مرز = 0 عرض = 50٪><TR bgcolor = قرمز><فلش>  حداقل;</فلش></TR></جدول></فلش> </TR> <TR> <عرض TD = 10٪>بسته</فلش> <فلش><جدول فاصلهگذاری ="0" cellspacing ="0" مرز = 0 عرض = 25٪><TR bgcolor = قرمز><فلش>  حداقل;</فلش></TR></جدول></فلش> </TR> <TR> <عرض TD = 10٪>متوقف شده</فلش> <فلش><جدول فاصلهگذاری ="0" cellspacing ="0" مرز = 0 عرض = 25٪><TR bgcolor = قرمز><فلش>  حداقل;</فلش></TR></جدول></فلش> </TR> </جدول> </فلش> </TR> </جدول> </بدن> </اچ تی ام ال> |
I used a dead simple approach to creating my bars by setting the background color of a row to "red".
خارج از دور در اینجا این است که: در پایان, همه ما انجام می دهند ایجاد HTML با سطرها و ستون ها.
قالب XSLT:
I’ve copied the XSLT that generates a horizontal bar graph. It’s fairly well commented so I won’t add much here except for these notes:
- من با پیش فرض XSL آغاز شده که شیرپوینت طراح به من داد وقتی که من برای اولین بار ایجاد DVWP.
- من قادر به قطع این را از SPD 657 خطوط به 166 lines.
- من در اطراف با فایل XML پارامترهای ظروف سرباز یا مسافر (که جدا از XSL است و شما می دانید منظورم چیست وقتی که شما به برای تغییر DVWP خود; دو فایل وجود دارد که شما می توانید تغییر دهید). اما, به منظور ساده, I did remove nearly all of them from the XSL. This means that if you want to make use of those parameters, you just need to add their variable definitions back to the XSL. That will be easy since you will have the original XSL variable definitions in your visual studio project.
- You ought to be able to copy and paste this directly into your visual studio project. سپس, remove my calls and insert your own calls to "ShowBar".
- مته به پایین با ایجاد یک کار می کند <یک عکاس هنگام عکسبرداری> مثل این: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. This technique may be of value in other contexts. At first, من فکر کردم که باید برای مطابقت با فرمت پیچیده تر: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, but in my environment that is not necessary. The List’s URL is passed to us by SharePoint so this is quite easy to generalize.
در اینجا آن است:
<XSL:شیوه نامه نسخه="1.0" نتیجه حذف پیشوندها="تومان. Z درجه ddwrt DT msxsl" |
نمایش نتایج: از شماره:
XSL از بالا تولید این گراف:
تمرین کردن به داده های لایه ی زیرین با کلیک کردن بر روی کد وضعیت:
انعقاد افکار:
می تواند این باشد منتشر?
من عاشق این مفهوم نموداری, but I hate the fact that I have to go in and do so much hand-coding. I’ve given a little thought to whether it can be generalized and I’m optimistic, but I’m also a little fearful that there may be a brick wall somewhere along the path that won’t offer any work-around. If anyone has some good ideas on this, لطفا توجه داشته باشید در نظرات یا ایمیل من.
ها نمودار ها تازه عمودی:
This is a horizontal bar graph. It’s certainly possible to create a vertical graph. We just need to change the HTML. I would start the same way: Create an HTML representation of a vertical bar graph and then figure out how to get that via XSL. If anyone is interested in that, I could be persuaded to try it out and work out the kinks. If someone has already done that, لطفا اجازه دهید من می دانم و من با کمال میل شما به وبلاگ شما لینک 🙂
من فکر می کنم که چالش با یک گراف عمودی است که برچسب برای این گراف مشکل تر برای مدیریت, اما مطمئنا غیر ممکن نیست.
نام فیلد دستت رو شد:
حداقل دو چیز را به مراقب با نام فیلد شما وجود دارد.
اولین, a field name with a space has to be escaped in the XSL. This will probably be an issue here:
<XSL:متغیر نام="totalProposed"
را انتخاب کنید="شمار(/dsQueryResponse / ردیف / ردیف[فضای عادی(@ وضعیت) = 'پیشنهاد'])" />
If your "Status" column is actually named "Status Code" then you need to reference it as "Status_x0020_Code":
<XSL:متغیر نام="totalProposed"
را انتخاب کنید="شمار(/dsQueryResponse / ردیف / ردیف[فضای عادی(@ Status_x0020_Code،) = 'پیشنهاد'])" />دوم, و من فازی کمی در این هستم, but you also need to be on the alert for field name changes. If you name your field "Status Code" و سپس در دوران بعدی, rename it to "AFE Status", the "internal name" does not change. The internal name will still be "Status Code" and must be referenced as "Status_x0020_Code". The "other resources" لینک ها ممکن است به تشخیص و تصحیح این نوع مشکل کمک کند.
درباره این رنگ:
I picked "red" because it’s pleasing to me at the moment. It would not be a big deal to show different colors so as to provide more than just a visual description of a number, but to also provide a useful KPI. مثلا, if the percentage of "stalled" AFE است > 10% سپس آن را قرمز نشان می دهد, otherwise show it in black. استفاده <XSL:را انتخاب کنید> برای تحقق این امر.
منابع دیگر:
- تعیین نام داخلی (و دیگر اطلاعات خوب) برای داده ها را در یک لیست: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!134.entry
- نمایش تمام اطلاعات ارائه شده توسط شیرپوینت (XML خام): http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!190.entry
- عبارت XPATH یک ستون خاص: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!155.entry
- روش دیگری با استفاده از OWA(?). I have not dug into it, اما به نظر می رسد امیدوار کننده, به خصوص برای نمودار پای: http://www.waka.dk/Blog/PermaLink,guid,e2532e71-d774-4ac9-8f25-883964b830f4.aspx
مبارک تبدیل!
<پایان پیام />