Standard WSS RUNDPINNE dataregistreringsskjermbilder støtter ikke gjennomgripende rullegardinlister (eller andre intra-fra kommunikasjon)

OPPDATERINGEN (04/2008): Dette flott bloggpost viser en god javascript basert tilnærming til problemet: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

UPDATE II: (04/2008): Dette blogginnlegget ser lovende også: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Flere ganger i uken, om ikke daglig, forumbrukerne beskrive et krav som normalt ville bli møtt via gjennomgripende rullegardinlister. For eksempel, Jeg har to rullegardinlisten kontroller:

  • Liste over USA. stater
  • Liste over USA. Byer.

Som ansvarlig UI leverandører, Vi vil at det skal fungere som dette:

  • Paul velger en USA. staten fra rullegardinlisten.
  • Dette fører til byene rullegardinlisten til å filtrere listen inneholder bare byer som tilhører den valgte tilstanden.
  • Paul velger en by fra denne filtrert liste.

Det er ingen out-of-the-box støtte for denne funksjonen. faktisk, Det er ingen OOB støtte for noen form for direkte intra-form kommunikasjon. Dette inkluderer programmatisk skjule/aktivering/deaktivering felt svar på feltet endres andre steder i skjemaet.

Den virkelige målet av denne artikkelen for å beskrive mulige løsninger og disse er alternativene som jeg kjenner dem:

  1. Utvikle en egendefinert kolonnetype. Som en tilpasset-kolonnen-utvikler, du har full kontroll over "verden" den egendefinerte kolonnen. Du kan implementere en CSS rullegardinmenyen sånn.
  2. Vurder å bruke arbeidsflyten. I noen tilfeller, du vil automatisk tilordne en verdi til-feltet basert på en annen feltverdi. I dette tilfellet, du vil normalt forsøke å bruke en beregnet kolonne, men noen ganger, det får bare ikke jobben gjort. SharePoint Designer arbeidsflyt er et relativt administrere-vennlig alternativ til synker ned i kode og visual studio. Hvis du går denne ruten, Vær oppmerksom på problemet Denne artikkelen (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Hendelsesbehandling: Som arbeidsflyten, Dette er en etter-det-faktum løsning. Hendelsesbehandlingen er en .NET-samling (C#, VB.NET) til hvilke SharePoint sender kontroll. Objektet du har tilgang til dataene i listen (og hele objektmodellen) og kan gjøre alle nødvendige beregning.
  4. Bruke SharePoint Designer til å opprette egendefinerte oppføring skjemaer. Jeg har ikke direkte erfaring med denne tilnærmingen, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. Roll din egen ASP.NET data oppføring funksjon (som en frittstående web-side eller en webdel) og bruke det i stedet.

Vet noen andre og/eller bedre alternativer, Vennligst legg inn en kommentar og jeg vil oppdatere kroppen til dette innlegget.

<slutten />

Technorati Merkelapper:

4 tanker om “Standard WSS RUNDPINNE dataregistreringsskjermbilder støtter ikke gjennomgripende rullegardinlister (eller andre intra-fra kommunikasjon)

  1. Paul Galvin
    Monjo,
    Takk for kommentar, Dette er typen tilbakemelding som jeg håpet.
    Det synes som som jeg skriver dette, kostnaden er $349 USD? Så, er den prisen for ubegrenset bruk?
    takk!
    –Paul
    Svar
  2. Mike Mongeau

    Paul,

    Sjekk ut: http://www.spsdev.com/filter.aspx .

    Fra deres hjemmeside: "SpsDev.Com av filterfelt er en egendefinert felttype som gjør filtrering.
    Du kan legge én til mange filterfelt til listen eller biblioteket, og hver kan
    blir filtrert basert på en annen filtrerte feltet i listen. Velge en stat i
    ett felt, og listen over byer i det neste feltet er filtrert for bare å vise
    elementer fra staten, for eksempel. I denne utgaven støtter vi SQL Server
    2000 og 2005, og Xml som kilder for feltdata. Når du endrer en
    valget i noen av rullegardinlistene, alle rullegardinlistene nedenfor er hver
    filtrert for å vise bare de riktige valgene basert på valget som
    gjort."

    Monjo

    Svar

legg igjen et svar

e-postadressen din vil ikke offentliggjøres. Obligatoriske felt er merket *