I-UPDATE (04/2008): Ito mahusay na blog entry ay nagpapakita ng isang mahusay na javascript diskarteng batay sa problemang ito: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html
I-update ang II: (04/2008): Ang blog entry Mukhang may pag-asa pati na rin: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/
Ilang beses sa isang linggo, kung hindi araw-araw, forum users describe a requirement that would normally be met via cascading drop-downs. Halimbawa, Mayroon akong dalawang mga drop-down na kontrol:
- Listahan ng mga U.S. estado
- Listahan ng mga U.S. mga lungsod.
Bilang responsableng provider UI, gusto naming ito upang gumana tulad nito:
- Paul pumipili ng U.S. state from the drop-down.
- This causes the cities drop-down to filter only those cities that belong to the selected state.
- Paul pumipili ng isang lungsod mula sa filter na listahan.
There is no out-of-the-box support for this feature. Sa katunayan, there is no OOB support for any kind of direct intra-form communication. This includes programmatically hiding/enabling/disabling fields in response to field changes elsewhere on the form.
Ang tunay na layunin ng artikulong ito upang upang ilarawan ang mga posibleng solusyon at ito ang mga pagpipilian sa bilang alam ko ang mga ito:
- Develop a custom column type. As a custom-column-developer, you have full control over the "world" of that custom column. You can implement a cascading drop-down that way.
- Consider using workflow. In some cases, you want to automatically assign a value to field based on another field’s value. Sa kasong ito, Gusto mo normal subukan na gumamit ng isang kinakalkula haligi, ngunit ang ilang beses, it just won’t get the job done. SharePoint Designer workflow is a relatively administer-friendly alternative to dropping down into code and visual studio. If you go this route, magkaroon ng kamalayan ng isyu-address sa pamamagitan ng artikulong ito (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
- Kaganapan handler: Tulad ng daloy ng trabaho, this is an after-the-fact solution. Your event handler is a .NET assembly (C #, VB.NET) to which SharePoint passes control. The object you develop has access to the data of the list (at ang buong modelo ng object) at maaaring gawin ang anumang kinakailangan pagkalkula.
- Use SharePoint Designer to create custom entry forms. I don’t have direct experience with this approach, but I hear they are doing good things with NewForm.aspx these days 🙂
- Roll ang iyong sariling ASP.NET data entry function na (bilang isang stand-alone na web page o bilang isang bahagi ng web) at gamitin iyon sa halip.
Kung sinuman ang nakakaalam ng iba pang at / o mas mahusay na pagpipilian, paki-post ng isang komento at kukunin ko na i-update ang nilalaman ng post na ito.
<katapusan />
Paul,
Lagyan ito ng tsek out: http://www.spsdev.com/filter.aspx .
Mula sa kanilang mga site: "SpsDev.Com’s Filter Field is a custom field type that does filtering.
Maaari kang magdagdag ng isa sa maraming mga field ng filter sa iyong listahan o library, at ang bawat isa maaari
be filtered based on another filtered field in the list. Pick a state in
isa field, at ang listahan ng mga lungsod sa susunod na patlang ay nasala upang ipakita lamang
mga item mula sa estado na, halimbawa. In this release we support SQL Server
2000 at 2005, and Xml as sources for the field data. As you change a
pagpili sa alinman sa mga drop down, lahat ng mga drop down sa ibaba nito ay sa bawat
nasala upang ipakita lamang ang mga naaangkop na mga pagpipilian batay sa mga pagpipilian na
nagawa."
– Monjo