با استفاده از کد زیر به راحتی می توانید یک Button در نمای لیست شیرپوینت خود داشته باشید. با استفاده از دکمه در هر آیتم می توانید به فعالیت های سازمان خود سرعت ببخشید.
و بدون باز کردن فرم عملیاتی بر روی آیتم انجام داده یا برای زیبایی لیست می توانید با زدن دکمه به قسمت ویرایش فرم بروید.
روش اول
برای شروع کافیست یک ستون به نام URL از جنس متن تک خطی (Single Line of Text) بسازید و لینک مورد نظر خود را در این ستون قرار دهید.
توجه : می توانید به کمک نینتکس ورک فلو این ستون را آپدیت کنید.
سپس یک ستون محاسبه ای یا Calculated ایجاد کنید و کد زیر را در قسمت فرمول بار آن بنویسید:
=”<a href='”&Url&”‘ target=’_blank’ style=’border: 1px solid;border-width: 1px 1px 1px 1px;padding: 2px 15px 2px 15px; text-decoration:none;’>Status</a> “
توجه : نوع داده از جنس عدد (Number) انتخاب شود در غیر اینصورت در لیست به صورت تگ Html دیده می شود.
پس از ایجاد این دو ستون نمای زیر را مشاهده می کنید.
با زدن دکمه Status صفحه ی شما، به هر آدرس وب که در ستون URL ذخیره کرده باشید، هدایت میشود.
روش دوم
در بعضی موارد ممکن است شما بخواهید با زدن دکمه یک کد اجرا شود یا یک سری عملیات انجام شود. برای این کار کافیست تابع کد را به فرمول دکمه ارجاع دهید که با زدن دکمه تابع مربوطه فراخوانی شود.
برای شروع طبق روش قبل یک ستون از جنس محاسبه ای ایجاد کنید و کدی مشابه کد زیر در قسمت فرمول وارد کنید:
=”<input type=’button’ value=’به روز رسانی’ value=’Save’ onclick=””updateListItem(‘”&ItemID&”‘); “”>”
توجه: در اینجا تابع updateLisItem فرخوانی می شود که این تابع از مقادیر داخل ستون “ItemID” استفاده می کند.
اگر بر روی دکمه کلیک کنید هیچ اتفاقی نمی افتد.
برای اینکار می توانید از یک وب پارت script Editor استفاده کنید و کد مربوط به تابع UpdateListItem را در وب پارت قرار دهید.
به طور مثال این تابع می تواند یکی از ستون های مربوط به لیست را آپدیت کند.
<script type=”text/javascript”>
var siteUrl = ‘/’;function updateListItem(ItemID) {var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle(‘test’);this.oListItem = oList.getItemById(ItemID);
oListItem.set_item(‘Title’, ‘OK’);
oListItem.update();
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded() {
alert(‘Item updated!’);
}
function onQueryFailed(sender, args) {
alert(‘Request failed. ‘ + args.get_message() + ‘\n’ + args.get_stackTrace());
}
</script>

نتیجه ی کد به روزرسانی ستون عنوان