نظرة عامة:
(التحديث 12/04/07: إضافة مورد آخر للاهتمام في نهاية ربط آخر بلوق أن يعالج هذا عبر جزء ويب مثيرة جداً للاهتمام)
هذا بلوق دخول يصف كيفية إنشاء رسم بياني شريطي في SharePoint. هذا وتعمل في بيئات WSS وموس كما أنه يعتمد فقط على جزء ويب لعرض البيانات.
النهج العام كما يلي:
- قم بإنشاء قائمة أو مكتبة المستندات التي تحتوي على البيانات التي تريدها لإنشاء رسم بياني.
- مكان مكتبة المستندات المرتبطة بها / مخصصة قائمة على صفحة، وتحويله إلى جزء ويب "طريقة عرض بيانات" (دفوب).
- تعديل XSL دفوب إنشاء HTML الذي يظهر كرسم بياني.
سيناريو العمل / برنامج الإعداد:
لقد خلق قائمة مخصصة مع العمود العنوان القياسية وعمود إضافي واحد, "حالة". هذه النماذج (جداً ننجرف) إذن "للمصروفات" السيناريو حيث العنوان يمثل المشروع والوضع قيمة من قائمة:
- واقترح
- في عملية
- وتوقف
والهدف هو إنتاج رسم شريط أفقي تفاعلية التي تظهر رموز الحالة هذه.
أنا قد نشر القائمة ويبدو مثل هذا:
إنشاء جزء ويب لعرض البيانات:
إنشاء دفوب واسطة إضافة قائمة مخصصة إلى صفحة (صفحة الموقع في حالتي) واتبع الإرشادات هنا (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).
بالإضافة إلى إنشاء ببساطة دفوب, نحن أيضا بحاجة إلى تعيين الخاصية الترحيل لإظهار كافة الصفوف المتوفرة. بالنسبة لي, وهذا يبدو شيئا من هذا القبيل:
عند هذه النقطة, دائماً إغلاق المستعرض والحزب الديمقراطي الاشتراكي. ثم إعادة فتح الصفحة باستخدام المستعرض. تجنب هذا التلويث قصد إعداد تخطيط جزء ويب على صفحة.
تعديل XSLT:
حان الآن الوقت لتعديل XSLT.
أنا دائماً استخدام visual studio لهذا. (انظر هنا لملاحظة هامة حول التحسس الذكي الذي سوف تساعدك كثيرا).
إنشاء مشروع فارغ إضافة أربعة ملفات جديدة (الاستعاضة عن عبارة "الأصلي" و "جديد" حسب الاقتضاء):
- Original.xslt
- New.xslt
- Params.xml الأصلي
- Params.xml الجديدة
في حالتي, يبدو مثل هذا:
تعديل جزء ويب ثم نسخ params و XSL للنص الأصلي "" الإصدار في Visual Studio.
والهدف هنا هو التسبب في XSL تحويل النتائج التي كنا نعود من الاستعلام دفوب إلى HTML الذي يعرض كرسم بياني.
وتحقيقا لهذه الغاية, فهو يساعد على النظر أولاً في ما ينبغي أن تبدو مثل HTML قبل أن يمكننا الحصول على الخلط من جانب الجنون الذي يعرف باسم "XSL". (أن تكون واضحة, ما يلي مجرد مثال; اكتب أو نسخ/لصق في visual studio لا. وتقدم الأول ضربة كامل نقطة انطلاق لذلك في وقت لاحق الكتابة). يتم تقديم نموذج الرسم البياني التالي حسب HTML التالية مباشرة:
HTML المطابق:
<html> <الهيئة> <مركز> <جدول العرض = 80%> <tr><td><مركز>رسم بياني شريطي أفقي</td></tr> <tr> <محاذاة td = "توسيط"> <حدود الجدول = "1" العرض = 80%> <tr> <عرض td = 10%>مفتوحة</td> <td><الجدول cellpadding ="0" cellspacing ="0" الحدود = 0 العرض = 50%><tr bgcolor = أحمر><td> </td></tr></الجدول></td> </tr> <tr> <عرض td = 10%>إغلاق</td> <td><الجدول cellpadding ="0" cellspacing ="0" الحدود = 0 العرض = 25%><tr bgcolor = أحمر><td> </td></tr></الجدول></td> </tr> <tr> <عرض td = 10%>وتوقف</td> <td><الجدول cellpadding ="0" cellspacing ="0" الحدود = 0 العرض = 25%><tr bgcolor = أحمر><td> </td></tr></الجدول></td> </tr> </الجدول> </td> </tr> </الجدول> </الهيئة> </html> |
لقد استخدمت نهجاً القتلى بسيطة لإنشاء أشرطة بلدي بتعيين لون الخلفية لصف "الأحمر".
هذا هنا الوجبات الجاهزة: وفي نهاية المطاف, كل ما نقوم به هو إنشاء HTML مع الصفوف والأعمدة.
قالب XSLT:
لقد قمت بنسخ XSLT الذي يقوم بإنشاء رسم بياني شريطي أفقي. جيد إلى حد ما علقت لذلك أنا لن تضيف الكثير هنا باستثناء هذه الملاحظات:
- لقد بدأت مع XSL الذي أعطاني مصمم SharePoint عندما أنشئت أول مرة في دفوب الافتراضي.
- قد تمكنت من خفض هذا من الحزب الاشتراكي الديمقراطي 657 خطوط إلى 166 خطوط.
- لم أكن نحو الفوضى مع معلمات ملف XML (وهو مستقل من XSL وعليك أن تعرف ماذا يعني عندما تذهب إلى تعديل دفوب نفسها; هناك اثنين من الملفات التي يمكنك تعديلها). ومع ذلك, من أجل تبسيط تقنية المعلومات, أقوم بإزالة كل منهم ما يقرب من XSL. وهذا يعني أنه إذا كنت تريد أن تجعل استخدام هذه المعلمات, تحتاج فقط إلى إضافة تعريفات المتغير بها مرة أخرى إلى XSL. التي تكون سهلة حيث سيكون لديك تعريفات المتغير الأصلي XSL في مشروع visual studio الخاص بك.
- يجب عليك أن تكون قادراً على نسخ ولصق هذا مباشرة في المشروع الخاص بك في visual studio. ثم, إزالة بلدي المكالمات وإدراج المكالمات الخاصة بك إلى "شووبار".
- الحفر أسفل يعمل عن طريق إنشاء <href> أحب هذا: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. هذا الأسلوب قد تكون ذات قيمة في سياقات أخرى. في البداية, وأعتقد أنني بحاجة إلى أن تلتزم بشكل أكثر تعقيداً: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, ولكن في بلدي البيئة التي ليس من الضروري. URL في القائمة يتم تمريرها إلينا من SharePoint حتى هذا من السهل جداً أن التعميم.
هنا:
<xsl:أوراق الأنماط الإصدار="1.0" استبعاد-النتيجة-البادئات="rs z o s دورت dt مسكسسل" |
النتائج:
XSL من أعلاه ينشئ هذا الرسم البياني:
انتقل لأسفل للبيانات الأساسية عن طريق النقر على رمز الحالة:
أفكار ختامية:
يمكن أن يكون هذا المعمم?
أنا أحب هذا المفهوم الرسوم البيانية, ولكن أنا أكره حقيقة أن لا بد لي من الذهاب والقيام بالكثير من ناحية الترميز. لقد أعطيت القليل من التفكير لما إذا كان يمكن أن يعمم وأنا متفائل, ولكن أنا أيضا قليلاً خوفاً من أنه قد يكون هناك بحائط من طوب في مكان ما على طول المسار الذي لن تقدم أي عمل حول. إذا كان أي شخص لديه بعض الأفكار الجيدة في هذا, يرجى تقديم مذكرة في التعليقات أو أرسل لي.
الرسوم البيانية العمودية:
هذا رسم بياني شريطي أفقي. فمن الممكن بالتأكيد لإنشاء رسم بياني عمودي. نحن بحاجة فقط لتغيير HTML. وأود أن ابدأ بنفس الطريقة: إنشاء تمثيل HTML لرسم شريط عمودي وثم معرفة كيفية الحصول على ذلك عن طريق XSL. إذا كان أي شخص مهتم في هذا, أنا يمكن أن يكون إقناع جربة والعمل بها على مكامن الخلل. إذا كان شخص ما قد فعلت ذلك, يرجى إعلامي وسأرتبط بكل سرور بمدونتك 🙂
وأعتقد أن التحدي مع رسم بياني عمودي أن التسميات للرسم البياني أكثر صعوبة لإدارة, ولكن بالتأكيد ليس مستحيلاً.
حقل اسم مسكتك:
هناك أشياء اثنين على الأقل نبحث مع أسماء الحقول الخاصة بك.
الأولى, اسم حقل بمسافة يجب أن يكون قد فر في XSL. ربما تكون هذه مشكلة هنا:
<xsl:متغير الاسم="توتالبروبوسيد"
حدد="العد(/دسكويريريسبونسي/الصفوف/الصف[تطبيع والفضاء(@Status) = 'اقترح'])" />
إذا كان وضعك "" هو فعلا تسمية العمود "رمز الحالة" ثم كنت بحاجة إلى مرجع له ك "Status_x0020_Code":
<xsl:متغير الاسم="توتالبروبوسيد"
حدد="العد(/دسكويريريسبونسي/الصفوف/الصف[تطبيع والفضاء(@Status_x0020_Code) = 'اقترح'])" />الثانية, وأنا غامض بعض الشيء في هذا, ولكن تحتاج أيضا إلى أن تكون على أهبة الاستعداد لتغير اسم حقل. إذا قمت بتسمية حقل "رمز الحالة" وثم في وقت لاحق على, إعادة تسميتها إلى "مركز AFE", اسم الداخلية "" لا تغيير. سيكون الاسم الداخلي لا يزال "رمز الحالة" ويجب أن يكون المشار إليه بوصفه "Status_x0020_Code". "الموارد الأخرى" روابط قد تساعد على تشخيص وتصحيح هذا النوع من المشكلة.
حول هذا اللون:
وقد اخترت "الأحمر" لأنه من دواعي السرور بالنسبة لي في هذه اللحظة. أنه لا صفقة كبيرة لإظهار ألوان مختلفة بغية توفير أكثر من مجرد وصف بصرية لعدد, ولكن أيضا توفير KPI مفيدة. وعلى سبيل المثال, إذا كانت النسبة المئوية من "المتوقفة" في AFE > 10% ثم تبين أنها حمراء, وإلا تظهر باللون الأسود. استخدام <xsl:اختر> لإنجاز هذا.
موارد أخرى:
- تحديد اسم داخلي (وغيرها من المعلومات الجيدة) للبيانات الموجودة في قائمة: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!134.entry
- إظهار جميع البيانات المقدمة من SharePoint (XML الخام): http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!190.entry
- الحصول على تعبير XPATH لعمود معين: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!155.entry
- وثمة نهج آخر استخدام OWA(?). وقد حفرت ليس فيه, ولكن تبدو واعدة, خاصة بالنسبة للمخططات الدائرية: http://www.waka.dk/Blog/PermaLink,guid,e2532e71-d774-4ac9-8f25-883964b830f4.aspx
تحويل سعيد!
<نهاية/>
هذه الصفحة تقريبا أكملت المهمة كانت تبحث.
لدى مجموعة التي تريد استخدام قائمة استقصاء SharePoint لإنشاء استطلاع أسبوعي. الصيد? أنها لا تريد أن ترى رمز… أو تغيير النظام في كل مرة يرسلون الاستطلاع (التخطيط لعملية تحديث أسبوعية).
كنت قادراً على الاتصال هذا بقائمة الاستقصاء وإنشاء الرسم البياني في العمود الأول من الإجابة. على الرغم من ما لا يمكن التنبؤ هي القيم والتسميات التي يحتاجون إليها وسوف تتحرك إلى الأمام. لجعل الأمور أكثر سوءا قد تكون لديهم أكثر أو أقل الأجوبة المتاحة كل أسبوع.
وسوف ننظر في أي مكان آخر فقط في حالة, ولكن أي شخص قد وجدت طريقة لإنشاء الصفوف وتسميات على أساس الخروج من العدد من الخيارات المتاحة و بشكل حيوي تعيين هذه بدلاً من الثابت ترميز القيم المتوقعة?
بفضل بول. من المفيد جداً. وبفضل العمل الخاص بك, كنت قادراً على إضافة عمود بار الرسم بياني دفوب القائمة (مثلاً. للمهام) بمجرد بضعة أسطر من التعليمات البرمجية الخاصة بك بسهولة جداً.
في مصمم SharePoint, تم إدراج طريقة عرض بيانات مع العنوان و % أعمدة كاملة من قائمة المهام. ضع رأس المؤشر في إحدى الخلايا، وانقر بالزر الأيمن. أنا حدد إدراج عمود إلى اليمين. في طريقة عرض التعليمات البرمجية, لقد وجدت <td> وحلت محل <xsl:عنصر النص داخل الخلية مع التعليمات البرمجية الخاصة بك:
<الجدول cellpadding ="0" cellspacing ="0" الحدود ="0"
العرض = "{الجولة(@PercentComplete * 100)+1}%">
<نمط tr = "لون الخلفية:أحمر ">
<xsl:نص تعطيل-إخراج-الهروب = "نعم"><![CDATA[ ]]></xsl:النص>
</tr>
</الجدول>
ملاحظة غيرت رمز لون صف من bgcolor = "الأحمر" إلى نمط = "لون الخلفية:الأحمر"
أيضا, وكان قادراً على تحديد أحد الأعمدة في قائمة (@PercentComplete) بدلاً من "$BarPercent"
جريج
أسلوب آخر (استخدام واجهة المستخدم SharePoint فقط):
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:آسيا والمحيط الهادئ ="http://schemas.microsoft.com/ASPNET/20">
حدد "count =(/دسكويريريسبونسي/الصفوف/الصف[تطبيع والفضاء(@Status)= 'WIP'])" />
http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=701إيان موريش نشرت هذا في أيار/مايو 2006. حاولت في موس 2007 ويعمل بشكل جيد. وأضاف أن GAC, وقد اكسيكادمسفكجوبس و iisreset…
وظيفة كبيرة, بفضل!
وظيفة كبيرة, بفضل!
مرحبا بول!
عمل جميل! كان لدي أيضًا شيء مثل هذا في ذهني لعرض قوائم SharePoint بطريقة رسومية 😉
لديّ "استخدام لوحات المعلومات في SharePoint’ سؤال. نحن مستشفى عسكري يستخدم معيار MOSS لشبكتنا الداخلية ونود إنشاء لوحة تحكم لمجموعة القيادة الخاصة بنا لمعرفة "الوقت الفعلي"’ إذا كان ذلك ممكناً. واحدة من النقاط الرئيسية التي يتم عرض عبء العمل الحالي في الوقت الحقيقي داخل المرفق وحرفيا مشاهدته تغيير صعودا وهبوطاً (قد تضطر إلى النقر فوق “قم بتحديث”/F5).
شكرا لكم مقدما.,
يمكنك أن تفعل شيئا مفيداً مع jQuery تحقيق هذا الغرض. البريد الإلكتروني لي في galvin.paul@gmail.com وسوف أكون سعيداً في محاولة لتقديم يد المساعدة.