Zbatimi i Master / Marrëdhëniet Detail përdorur listat Custom

Përdoruesit Forum shpesh si pyetje si kjo:

> Përshëndetje,
>
> Ju lutem më thoni nëse ka ndonjë mundësi për të ndërtuar një listë me porosi
> master dhe detaj lloji (si faturave) pa përdorur InfoPath.
>

SharePoint ofron disa nga karakteristikat kuti që mbështesin llojet e kërkesave të biznesit si që.

Në përgjithësi, one links two lists together using a lookup column. List A contains the invoice header information and list B contains invoice details.

Përdorni listat shtesë për të ruajtur numrat e konsumatorëve, Numrat e produktit, etj.

Përdorni një pyetje web content pjesë (në MOSS vetëm) and/or a data view web part to create merged views of the lists. SQL Server Reporting Services (SRS) është gjithashtu në dispozicion për anën e raportimit të saj.

Megjithatë, there are some important limitations that will make it difficult to use pure out-of-the-box features for anything that is even moderately complex. These include:

  • Madhësia listat vs lookup lidhur. "smartness" of the lookup column type. A lookup column type presents itself on the UI differently depending on whether you’ve enabled multi-select or not. In either case, the out-of-the-box control shows all available items from the source list. If the source list has 1,000 artikuj, that’s going to be a problem. The lookup control does not page through those items. Në vend të kësaj, it pulls all of them into the control. That makes for a very awkward user interface both in terms of data entry and performance.
  • Lookups "pull back" one column of information. You can never pull back more than one column of information from the source list. Për shembull, you cannot select a customer "12345" and display the number as well as the customer’s name and address at the same time. The lookup only shows the customer number and nothing else. This makes for an awkward and difficult user interface.
  • No intra-form communication. Unë kam shkruar në lidhje me këtë këtu. You can’t implement cascading drop-downs, kushtimisht të mundësojë / çaktivizoni fushat, etj.
  • No cascading deletes or built-in referential integrity. SharePoint treats custom lists as independent entities and does not allow you to link them to each other in a traditional ERD sense. Për shembull, SharePoint ju lejon të krijoni dy lista me porosi, "customer" and "invoice header". You can create an invoice header that links back to a customer in the customer list. Pastaj, you can delete the customer from the list. Nga kutia, there is no way to prevent this. To solve this kind of problem, ju do të zakonisht përdorin handlers ngjarje.

Kjo mund të duket e zymtë, but I would still use SharePoint as a starting point for building this kind of functionality. Though there are gaps between what you need in a solution, SharePoint na mundëson për të mbushur ato boshllëqe duke përdorur mjete të tilla si:

  • Handlers Event. Use them to enforce referential integrity.
  • Kolonat Custom: Create custom column types and use them in lieu of the default lookup column. Add paging, buffering dhe karakteristika AJAX për t'i bërë ata të përgjegjshëm.
  • QZHB. This MOSS-only feature enables us to query other SharePoint lists with a superior user interface to the usual lookup column. BDC can also reach out to a back end server application. Use BDC to avoid replication. Rather than replicating customer information from a back end ERP system, use BDC instead. BDC features provide a nice user interface to pull that information directly from the ERP system where it belongs and avoids the hassle of maintaining a replication solution.

    BDC është një tipar MOSS (jo në dispozicion në WSS) and is challenging to configure.

  • Forma ASP.NET web: Krijo një të plotë me tipare formularin AJAX-enabled që përdor modelin e objektit SharePoint dhe / ose shërbimeve web për listat e SharePoint levave, duke i siguruar një ndërfaqe të përdoruesit shumë të përgjegjshëm.

Mundësia e fundit mund të ndjeni sikur ju jeni duke filluar nga zeroja, por e konsiderojnë faktin se platforma SharePoint fillon ju off me karakteristikat e mëposhtme kryesore:

  • Modeli i Sigurimit me mirëmbajtjen.
  • Sistemi Menu me mirëmbajtjen.
  • "Master table" (i.e. Listat me porosi) me sigurinë, ndërtuar në mirëmbajtjen dhe auditimit.
  • Kërko.
  • Mbrapsht në fund mjetet e integrimit (QZHB).

Nëse ju filloni me një projekt të ri bosh në studio vizuale, ju keni një shumë e infrastrukturës dhe pajisje hidraulike për të ndërtuar para se të merrni në afërsi të SharePoint çfarë ofron.

I do believe that Microsoft intends to extend SharePoint in this direction of application development. It seems like a natural extension to the existing SharePoint base. Microsoft’s CRM application provides a great deal of extensibility of the types needed to support header/detail application development. Although those features are in CRM, the technology is obviously available to the SharePoint development team and I expect that it will make its way into the SharePoint product by end of 2008. If anyone has an knowledge or insight into this, ju lutemi të lënë një koment.

</fund>

5 mendime mbi "Zbatimi i Master / Marrëdhëniet Detail përdorur listat Custom

  1. Paul Galvin

    Raghu, Unë nuk mendoj se ka ndonjë mënyrë të lehtë për të bërë këtë. Unë do të përqëndrohet në trajnimin e përdoruesit tuaj kur të përdorni të cilën një prej tyre dhe ndoshta të japë atyre një aluzion me emrin e llojit të vetë përmbajtja. Unë nuk mendoj se ju mund të vërtetë të këtë një gozhdë poshtë, teknikisht.

  2. Raghu shkroi:
    Unë jam duke krijuar Parent / Child realationship duke përdorur dy llojet e përmbajtjes dhe lista me porosi siç shpjegohet në commnet lart. Por unë kam një problem; Unë kam nevojë për të bërë lloj i artikullit të metash padisponueshëm në nivel dosje dhe përmbajtjes Folder tipi i padisponueshëm në nivel të artikujve. Ju lutem të më udhëzojë në këtë një. Falënderim…
  3. Michael Vickers

    It’s a bit of a kludge but I use an ASP.Net dropdown which shadows the lookup "dropdown" gjeneruara nga SharePoint. Unë theksoj ASP.Net dropdown për një datasource bazuar në listën që përmban pika lookup, lejuar mua që të përdorni fushën ID si vlerë dhe kolona e zgjedhjes sime si tekstin e ekranit. Unë nuk e obligoj ASP.Net dropdown në fushën lookup listë për shkak se ajo gjeneron server-side gabime.

    Në ngarkesës faqja I përdorin JavaScript për të caktojë vlerën e saktë për ASP.Net dropdown, dhe pastaj të bashkëngjitni ngjarjet onchange për dropdown që të caktojë vlera të reja për SharePoint korresponduese lookup dropdown. Unë në fakt e fsheh rresht përmban SharePoint dropdown.

    Një gjë e fundit — për shkak të mënyrës SharePoint bën budalla lookup dropdowns kur numri i artikujve merr e kaluara 20 I use objekt porosi këmishë për të marrë / vendosur vlera dropdown. Unë kam një blog post detajon se procesi këtu:

    http://www.idiotsyncrasies.com/2007/12/lookup-list-dropdowns-in-sharepoint.aspx

    Gëzuar,

    Michael

  4. David

    Ju mund të krijuar një lloj përmbajtje për kokë Faturës bazuar në llojin Content Folder dhe pastaj të krijojë një lloj tjetër Faturë Content dhe shtoni dy në një listë SharePoint. Kjo në fakt krijon një marrëdhënie prind / fëmijë i cili do t'ju lejojë të krijojë fatura të shumta bazuar në llojin Faturës përmbajtjes që jetojnë nën tipi i përmbajtjes Faturës Header e cila ju jep të menjëhershme dhe marrëdhënien mes dy sendeve dhe nëse Fatura lista Header artikull është fshirë . Ju gjithashtu mund të specifikojë se Lloji Përmbajtja jenë në dispozicion vetëm nga brenda një Folder të caktuar. Kjo qasje është e ngjashme me mënyrën se si biblioteka diskutimi punon dhe është shumë e dobishme për këtë lloj të marrëdhënieve në mes të artikujve. Handlers ngjarje dhe kodi do të ndihmojë me disa kufizime të tjera, por në përgjithësi një zgjidhje e shpejtë e lehtë.

Lini një Përgjigju me Raghu shkroi: Cancel përgjigje

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar *