Arquivo da Categoría: Data View web Part

Comparando datas en un sitio Part de Vista de datos para crear un KPI WSS

Nota: este foi o primeiro publicado no www.endusersharepoint.com aquí: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.

Este é un post no blog comparando datas en XSL nunha parte de datos web vista no SharePoint.

Este é o meu escenario:

  • Eu teño unha lista personalizada.
  • A finalidade do negocio da lista é o de apoiar a idea dun novo traballador, como as súas tarefas para ser rematada no prazo 7 días de comezar o traballo.
  • Eles están nunha "zona de alerta" tras 4 días se non está concluído estas tarefas.
  • Eu quero crear un panel sinxelo que mostra verde cando quere completar a tarefa ou no caso de que teñen máis de 4 días para completa-lo.
  • Eu quero o panel para amosar amarelo no caso de que están na zona de alerta.
  • Quero mostrar vermello se non tiveren completado a tarefa despois da data de caducidade.

Peguei prestado Neste artigo en Marc Anderson Blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) para obter a lóxica de comparación e Neste artigo en www.endusersharepoint.com para as ideas básicas por detrás do taboleiro (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) escrito por Toni Frankola.

Ten que ler os blogs de apoio, pero a implementación é así:

  1. Crear un tipo de contido (columnas + CT)
  2. Crear unha lista personalizada e asocialo con tipo de contido.
  3. Crear unha páxina web part.
  4. Engadir a lista personalizada á páxina web part.
  5. Abre a páxina no SPD.
  6. Converte a lista a un DVWP.
  7. Modifique o XSL para xerar os bits de taboleiro.

Eu teño dúas datas: a warning date and a due date. To compare the dates, meu XSL fai o seguinte:

 
 <XSL:escoller>
 
 <!-- Cando ambos manual e política son asinados, que son verdes, con independencia de datas. -->
 <XSL:cando proba="@Employee_x0020_Handbook_x003F_ = 1 e @ Security_x0020_Policies = 1">
 <img src="/_layouts/images/KPIDefault-0.GIF" vello="No problems"/>
 <un href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&ampères;Fonte = / HumanResources / Shared Documents / Dashboard.aspx Nova Contratación"> [Editar]</un>
 </XSL:cando>
 
 <!-- Amosar ámbar indicador se nós estamos máis aló da data de aviso. -->
 <XSL:cando proba="ddwrt:FormatDateTime(corda(ddwrt:Hoxe()), 1033, 'YYYYMMDD') &gt;= Ddwrt:FormatDateTime(corda(@ TaskDueDate), 1033, 'YYYYMMDD')">
 <img src="/_layouts/images/KPIDefault-2.GIF" vello="Overdue"/>
 <un estilo="border: 0px" href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&ampères;Fonte = / HumanResources / Shared Documents / Dashboard.aspx Nova Contratación"> [Editar]</un>
 </XSL:cando>
 
 <!-- Mostrar o indicador vermello se pasou a data de caducidade. -->
 <XSL:cando proba="ddwrt:FormatDateTime(corda(ddwrt:Hoxe()), 1033, 'YYYYMMDD') &gt;= Ddwrt:FormatDateTime(corda(@ Warning_x0020_Date), 1033, 'YYYYMMDD')">
 <img src="/_layouts/images/KPIDefault-1.GIF" vello="Warning"/> 
 <un href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&ampères;Fonte = / HumanResources / Shared Documents / Dashboard.aspx Nova Contratación"> [Editar]</un>
 </XSL:cando>
 
 <!-- Se chegamos ata aquí, estamos antes da data de aviso, polo que estamos verde. -->
 <XSL:se non>
 <img src="/_layouts/images/KPIDefault-0.GIF" vello="No problems"/>
 <un href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&ampères;Fonte = / HumanResources / Shared Documents / Dashboard.aspx Nova Contratación"> [Editar]</un>
 </XSL:se non>
 
 </XSL:escoller>

Algúns puntos clave de arriba:

  • I tried to compare dates without using the ddwrt functionality and got nowhere. I still don’t understand that. They dates displayed correctly, pero ao mesmo tempo ">"E"<” comparisons always failed. A finais, ddwrt veu no meu socorro (grazas, novo, Bagazo).
  • Eu tamén estou mostrando un [Editar] link to the item. I mainly did this so that I could easily test this out. The link itself may be useful to someone trying to figure it out.
  • Isto é aplicado en SharePoint en liña e funciona moi ben.
  • As imaxes que fan referencia no directorio _layouts (/_layouts / images / KPI episodio) están dispoñibles fóra da caixa no meu entorno para que probabelmente están dispoñibles para ti tamén.

Aquí está unha captura de pantalla do que parece a min:

image

</final>

Rexístrate para o meu blog.

Siga-me no Twitter http://www.twitter.com/pagalvin

Fácil e rápida: Crear un Data View web Part (DVWP)

Hai unha gran riqueza de información sobre o WSS 3.0 Data View web Part (DVWP) on the web from several sources. Con todo, I found it to be surprisingly difficult to find information on this first very basic step. Here is another article in the "quick and easy" serie para afrontalo lo.

Siga estes pasos para crear un Data View web Part (DVWP). They are based on an "Announcements" parte da web, pero se aplican á maioría das listas.

  1. Crear unha peza web Anuncios e engadila a un sitio web.
  2. Abre o sitio web no SharePoint Design.
  3. Abre default.aspx web.
  4. Select the Announcements web part and right-click.
  5. No menú contextual, select "Convert to XSOT Data View".

SharePoint Deseño avisa que esta web é agora personalizado a partir da súa definición de sitio. Iso non é necesariamente malo, pero non son importantes implicacións (execución, mellorar, outros) which are beyond the scope of this little "Quick and Easy" entrada. To get more information on this subject, Recomendo os dous libros aquí así como o seu favorito de procura en Internet.

Confirmar que fixo correctamente:

  1. Pechar e reabrir o navegador web (to avoid accidentally re-posting the original "add a new web part").
  2. Select the web part’s arrow drop-down and choose "Modify Shared Web Part" desde o menú.
  3. O panel de ferramentas abre á dereita.
  4. O panel cambiou das súas opcións habituais para este conxunto:
imaxe