بررسی اجمالی:
(تکمیلی 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
مبارک تبدیل!
<پایان پیام />
این صفحه تقریبا به اتمام وظیفه من به دنبال.
من یک گروه است که می خواهد به استفاده از لیست شیرپوینت بررسی برای ایجاد یک نظرسنجی بارگیری در این هفته. گرفتن? آنها نمی خواهند برای دیدن کد… و یا تغییر سیستم در هر زمان آنها ارسال نظرسنجی (برنامه ریزی برای به روز رسانی بارگیری در این هفته).
من قادر به اتصال به لیست بررسی و ایجاد نمودار در اولین ستون پاسخ. چیزی که من نمی تواند پیش بینی هر چند ارزش ها و برچسب های که آنها را در حال حرکت رو به جلو نیاز دارند. به مسائل بدتر آنها ممکن است پاسخ بیشتر یا کمتر در هر هفته در دسترس نیست.
من جاهای دیگر فقط در مورد نگاه, اما تا به هر کسی در بر داشت راه را برای ایجاد سطر و برچسب ها از تعدادی از گزینه های در دسترس و به صورت پویا تنظیم این به جای برنامه نویسی سخت ارزش مورد انتظار?
سپاس ها پل. بسیار مفید. با تشکر از کار شما, من قادر به اضافه کردن یک ستون نوار گراف به DVWP موجود بود (e.g. برای انجام وظایف) به راحتی با تنها چند خط از کد شما.
در شیرپوینت طراح, من یک نظر داده با عنوان قرار داده و % ستون های کامل از یک لیست وظیفه. من اشاره گر را در یکی از سلول های قرار داده و کلیک راست. من را انتخاب کنید وارد کردن یک ستون به سمت راست. در نمای کد, که من پیدا کردم <فلش> و به جای <XSL:عنصر متن در داخل سلول با کد شما:
<جدول فاصلهگذاری ="0" cellspacing ="0" مرز ="0"
width="{دور(@ PercentComplete * 100)+1}%">
<tr style="background-color:red">
<XSL:text disable-output-escaping="yes"><![CDATA[  حداقل;]]></XSL:متن>
</TR>
</جدول>
Note I changed the row color code from bgcolor="red" to style="background-color:قرمز"
همچنین, توانست یکی از ستون ها را انتخاب کنید و در لیست من (@ PercentComplete،) in place of "$BarPercent"
گرگ
یکی دیگر از روش (با استفاده از تنها UI شیرپوینت):
http://pathtosharepoint.wordpress.com/2008/09/02/a-progress-bar-for-your-tasks-list/
http://pathtosharepoint.wordpress.com/2008/10/21/progress-bar-color-coding/
xmlns:__designer =http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:ASP ="http://schemas.microsoft.com/ASPNET/20">
select="count(/dsQueryResponse / ردیف / ردیف[فضای عادی(@ وضعیت)=’WIP’])" />
http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=701ایان Morrish این مه شده 2006. من در MOSS سعی 2007 و آن را به خوبی کار می کند. اضافه شده به GAC, تا به حال به execadmsvcjobs و iisreset…
پست بزرگ, با تشکر!
پست بزرگ, با تشکر!
سلام پل!
کار زیبا! من هم چیزی شبیه به این در ذهن من برای مشاهده لیست شیرپوینت در راه های گرافیکی حال 😉
من یک "داشبورد با استفاده از شیرپوینت در’ سوال. ما یک بیمارستان نظامی با استفاده از استاندارد MOSS برای اینترانت ما و می خواهم برای ساخت یک داشبورد برای گروه فرماندهی ما را به دیدن «زمان واقعی’ در صورت امکان. یکی از نکات اصلی است مشاهده حجم کار در حال حاضر در زمان واقعی در درون امکانات و به معنای واقعی کلمه تماشای آن را تغییر دهید به بالا و پایین (ممکن است مجبور به کلیک کنید “تازه کردن”/F5).
با تشکر از شما در پیشبرد,
شما می توانید چیزی مفید را با jQuery انجام دهد برای به انجام رساندن این اثر. ایمیل من در galvin.paul gmail.com @ و من خوشحال سعی خواهم بود و به دست.