کارهایی در لیستهای شیرپوینت که فقط با برنامهنویسی میتوان انجام داد
Object Model شیرپوینت این امکان را به شما میدهد که کلیه کارهایی که از طریق اینترفیس خود شیرپوینت انجام میدهید را با برنامهنویسی نیز بتوانید پیادهسازی کنید.
اما یک سری کارها هست که خود شیرپوینت آنها را انجام میدهد ولی از طریق اینترفیس امکان انجامشان نیست. در این نوشته به کارهایی که فقط با برنامهنویسی در لیستهای شیرپوینت میتوان انجام داد میپردازیم.
قبل از شروع توجه کنید که هر جا خطا دریافت کردید مبنی بر اینکه اجازه تغییرات در SPWeb
وجود ندارد AllowUnsafeUpdates
را برای object ای که از کلاس SPWeb
گرفتهاید true و بعد از اتمام عملیات آن را false کنید.
کنترل نمایش ستونها در فرمهای مختلف
هر لیست شیرپوینت، حداقل سه فرم جدید، ویرایش و نمایش دارد. موقعی که یک ستون تعریف میکنید به صورت پیش فرض به همه این فرمها اضافه میشود اما اگر بخواهید در بعضی از این فرمها نمایش داده نشود به شکل زیر میتوان کار کرد:
همچنین در صورت نیاز میتوانید نمایش این ستون در بخش تنظیمات لیست یا نماهای لیست را نیز غیرفعال کنید:
مخفی یا غیر قابل حذف کردن ستونها
جهت مخفی کردن یک ستون از property که به این منظور وجود دارد میتوانید استفاده کنید:
و برای غیرقابل حذف کردن از کد زیر میتوانید استفاده کنید. این کد به درد زمانی میخورد که بخواهید ستونهایی سیستمی در لیست داشته باشید که کاربر امکان حذف کردن آنها را نداشته باشد.
امکان ReadOnly کردن ستون نیز وجود دارد، اما در صورتی که از آن استفاده کنید به روز رسانی ستون با مشکل مواجه خواهد شد.
مخفی کردن لیستها
شیرپوینت تعدادی لیست مخفی در هر سایتی که ایجاد میشود ایجاد میکند و از آن برای ذخیره اطلاعات سیستمی خودش بهره میگیرد. به طور کلی از آنجایی که تعداد لیستهایی که با فعال کردن featureهای مختلف ساخته میشوند زیاد است و این باعث سردرگمی استفاده کننده میشود خوب است لیستهای اضافی یا کم مصرف که از جایگزینهایشان میتوان استفاده کرد را با SharePoint Designer یا با استفاده از کدنویسی مخفی کنید. برای مخفی کردن یک لیست شیرپوینت از کد زیر میتوانید استفاده کنید:
غیرقابل حذف کردن لیستها
غیرقابل حذف کردن لیستها برای شرایطی مناسب است که از لیست برای ذخیره اطلاعات سیستمی (نظیر تنظیمات یا دادههای یک راهکار شیرپوینتی) استفاه میکنید. برای این کار از کد زیر میتوانید استفاده کنید: