Menerapkan Master / Rinci hubungan menggunakan Custom daftar

Forum pengguna sering pertanyaan seperti ini:

> Halo,
>
> Tolong katakan padaku jika ada setiap kemungkinan untuk membangun daftar kustom dengan
> jenis Master dan detail (seperti faktur) tanpa menggunakan InfoPath.
>

SharePoint menyediakan beberapa keluar dari kotak fitur yang mendukung jenis kebutuhan bisnis seperti itu.

Secara umum, salah satu link dua daftar bersama-sama menggunakan kolom pencarian. Daftar A berisi informasi header faktur dan daftar B berisi rincian faktur.

Menggunakan daftar tambahan untuk mempertahankan pelanggan nomor, produk nomor, dll.

Menggunakan bagian web konten permintaan (dalam MOSS hanya) dan/atau data lihat bagian web untuk membuat gabungan dilihat dari daftar. Layanan pelaporan SQL Server (SRS) ini juga tersedia untuk sisi pelaporan itu.

Namun, ada beberapa keterbatasan yang penting yang akan membuat sulit untuk menggunakan fitur out-of-the-box yang murni untuk sesuatu yang bahkan cukup kompleks. Ini termasuk:

  • Ukuran lookup terkait daftar vs.. "kecerdasan" jenis kolom pencarian. Jenis kolom pencarian hadiah itu sendiri di UI berbeda tergantung pada apakah Anda telah mengaktifkan multi pilih atau tidak. Dalam kedua kasus, kontrol out-of-the-box menunjukkan semua item yang tersedia dari daftar sumber. Jika memiliki daftar sumber 1,000 item, itu akan menjadi masalah. Kontrol lookup tidak halaman melalui barang-barang. Sebaliknya, hal menarik semua dari mereka dalam kontrol. Yang membuat untuk sebuah antarmuka pengguna yang sangat kikuk baik dari segi kinerja dan memasukkan data.
  • Pencarian "menarik kembali" satu kolom informasi. Anda tidak pernah dapat menarik kembali lebih dari satu kolom informasi dari daftar sumber. Misalnya, Anda tidak dapat memilih pelanggan "12345" dan menampilkan jumlah serta nasabah nama dan alamat pada waktu yang sama. Pencarian hanya menunjukkan pelanggan nomor dan tidak ada yang lain. Hal ini membuat untuk antarmuka pengguna canggung dan sulit.
  • Tidak ada komunikasi intra-bentuk. Aku sudah menulis tentang ini di sini. Anda tidak dapat menerapkan drop-down cascading, kondisional mengaktifkan/menonaktifkan bidang, dll.
  • Tidak menghapus cascading atau built-in integritas referensial. SharePoint memperlakukan daftar kustom sebagai entitas independen dan tidak memungkinkan Anda untuk menghubungkan mereka satu sama lain dalam arti ERD tradisional. Misalnya, SharePoint memungkinkan Anda untuk membuat dua daftar kustom, "pelanggan" dan "faktur header". Anda dapat membuat sebuah header faktur yang menghubungkan kembali ke pelanggan dalam daftar pelanggan. Kemudian, Anda dapat menghapus pelanggan dari daftar. Keluar dari kotak, tidak ada cara untuk mencegah hal ini. Untuk memecahkan masalah seperti ini, Anda biasanya akan menggunakan event handler.

Ini mungkin tampak suram, tapi aku masih akan menggunakan SharePoint sebagai titik awal untuk membangun fungsi semacam ini. Meskipun ada jurang antara apa yang Anda butuhkan dalam larutan, SharePoint memungkinkan kita untuk mengisi kesenjangan tersebut menggunakan alat seperti:

  • Event handler. Menggunakannya untuk menegakkan integritas referensial.
  • Custom kolom: Membuat custom kolom jenis dan menggunakannya sebagai pengganti kolom pencarian default. Tambahkan paging, buffering dan AJAX fitur untuk membuat mereka responsif.
  • BDC. Fitur ini hanya untuk MOSS memungkinkan kita untuk query daftar SharePoint lain dengan antarmuka pengguna yang unggul untuk kolom pencarian biasa. BDC juga dapat menjangkau untuk back-end server aplikasi. Gunakan BDC untuk menghindari replikasi. Daripada mereplikasi informasi pelanggan dari back-end sistem ERP, Sebaliknya menggunakan BDC. Fitur BDC menyediakan antarmuka yang bagus untuk menarik informasi langsung dari sistem ERP mana itu milik dan menghindari kerumitan memelihara solusi replikasi.

    BDC adalah fitur MOSS (tidak tersedia di WSS) dan menantang untuk mengkonfigurasi.

  • ASP.Formulir NET web: Membuat fitur lengkap dukungan AJAX formulir yang menggunakan obyek SharePoint model dan/atau web services untuk meningkatkan daftar SharePoint sambil menyediakan sangat responsif user interface.

Opsi terakhir mungkin merasa seperti Anda mulai dari nol, Tapi mempertimbangkan fakta bahwa SharePoint platform dimulai Anda dengan fitur kunci berikut:

  • Model keamanan dengan pemeliharaan.
  • Sistem menu dengan pemeliharaan.
  • "Master meja" (yaitu. daftar kustom) dengan keamanan, built-in pemeliharaan dan audit.
  • Pencarian.
  • Back-end alat integrasi (BDC).

Jika Anda memulai dengan sebuah proyek kosong baru in visual studio, Anda memiliki banyak infrastruktur dan pipa untuk membangun sebelum Anda mendapatkan dekat dengan apa yang menawarkan SharePoint.

Saya percaya bahwa Microsoft berniat untuk memperluas SharePoint arah ini pengembangan aplikasi. Sepertinya perpanjangan alami untuk SharePoint yang ada dasar. Microsoft CRM aplikasi menyediakan banyak diperpanjang dari jenis yang diperlukan untuk mendukung pengembangan aplikasi header/detail. Meskipun fitur tersebut di CRM, teknologi ini jelas tersedia untuk tim pengembangan SharePoint dan saya berharap bahwa hal itu akan membuat jalan ke SharePoint produk akhir 2008. Jika seseorang memiliki pengetahuan atau wawasan dalam ini, Silakan Tinggalkan Komentar.

</akhir>

Technorati Tags:

5 pemikiran tentang “Menerapkan Master / Rinci hubungan menggunakan Custom daftar

  1. Paul Galvin

    Raghu, Saya tidak berpikir ada cara mudah untuk melakukannya. Saya akan berfokus pada pelatihan pengguna Anda ketika menggunakan yang salah satu dari mereka dan mungkin memberikan petunjuk dengan nama konten mengetik itu sendiri. Saya tidak berpikir Anda dapat benar-benar kuku satu ini turun, secara teknis.

    Balasan
  2. Raghu wrote:
    Aku sedang menciptakan orangtua/anak realationship Anda kondisi dengan menggunakan dua jenis konten dan daftar kustom seperti yang dijelaskan di atas commnet. Tapi aku punya masalah; Saya perlu untuk membuat konten jenis Item tidak tersedia pada Folder tingkat dan jenis konten Folder tidak tersedia pada tingkat item. Mohon panduan saya satu ini. Terima kasih…
    Balasan
  3. Michael Vickers

    Ini adalah sedikit dari kludge tapi aku menggunakan ASP.Bersih dropdown yang bayang-bayang lookup "dropdown" dihasilkan oleh SharePoint. Aku menunjuk ASP.Bersih dropdown untuk datasource didasarkan pada daftar yang mengandung lookup item, mengizinkan saya untuk menggunakan bidang ID sebagai nilai dan kolom pilihan saya sebagai teks layar. Saya tidak mengikat ASP.Net dropdown untuk bidang daftar lookup karena menghasilkan kesalahan sisi server.

    Pada halaman beban saya menggunakan javascript untuk menetapkan nilai yang benar untuk ASP.Dropdown bersih, dan kemudian melampirkan peristiwa onchange bahwa dropdown untuk menetapkan nilai-nilai baru untuk SharePoint sesuai dropdown lookup. Aku benar-benar menyembunyikan baris yang mengandung SharePoint dropdown.

    Satu hal lagi — karena SharePoint menjadikan Gufi lookup dropdown ketika jumlah item akan melewati 20 Saya menggunakan pembungkus kustom objek untuk mendapatkan/set nilai dropdown. Aku punya posting blog yang merinci proses itu di sini:

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

    Bersulang,

    Michael

    Balasan
  4. David

    Anda dapat membuat jenis konten untuk faktur header berdasarkan tipe konten Folder dan kemudian membuat lain faktur tipe konten dan menambahkan kedua ke daftar SharePoint. Ini pada dasarnya menciptakan orangtua/anak hubungan yang akan memungkinkan Anda untuk membuat faktur beberapa berdasarkan faktur tipe konten yang hidup di bawah faktur Header tipe konten yang memberi Anda dan instan hubungan antara dua item dan jika Header faktur daftar item dihapus semua anak faktur item dalam Folder yang akan dihapus. Anda juga dapat menentukan jenis konten hanya akan tersedia dari dalam Folder tertentu. Pendekatan ini sangat mirip dengan bagaimana perpustakaan diskusi bekerja dan sangat membantu untuk jenis hubungan antara item. Event handler dan kode akan membantu dengan beberapa keterbatasan tapi secara keseluruhan solusi mudah cepat.

    Balasan

Tinggalkan Balasan Raghu wrote: Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *