آپلود سند در پاورفرم
یکی از سوالات متداول در مورد پاورفرم کار با فیلد داکیومنت گرید است.
در ادامه به بررسی کامل این فیلد کاربردی می پردازیم:
کنترل DocumentGrid یک بستری برای فهرست کردن اسناد یک کتابخانه در شیرپوینت است و ابزارهایی برای باز کردن، حذف یا آپلود یک سند از / به یک مکان خاص فراهم می کند:
دکمه «Open» سند انتخاب شده را باز می کند و به همین ترتیب حالت ReadOnly / Edit دقیقا مانند شیرپوینت عمل می کند.
دکمه «Refresh» اطلاعات جدول را بارگذاری مجدد می کند.
دکمه “Remove” سند را از کتابخانه حذف می کند.
دکمه “Upload” یک سند جدید را از حافظه ی محلی کاربر اضافه می کند (سند جدید با دکمه “Browse” انتخاب می شود)
برای شروع کار با داکیومنت گرید به یک ListQuery نیاز دارید و سپس آن را به فیلد داکیومنت گرید متصل کنید.
Value Properties
Value
کنترل DocumentList فقط مقدار خود را از یک ListQuery می گیرد. یک ListQuery از پیش تعریف شده که مجموعه ای از آیتم های کتابخانه را باز می گرداند. فرض کنید که لیست Query زیر در بخش مربوطه تعریف شده است:
این ListQuery برای ارائه اطلاعات به کنترل DocumentGrid استفاده می شود:
Extra Configuration
Allowupload
فعال / غیر فعال کردن دکمه آپلود
AllowDelete
فعال / غیر فعال کردن دکمه حذف
DataLoadedScript
شما می توانید یک اسکریپت بنویسید که هرگاه داده های متصل به dataagrid در حال بارگذاری هستند، درست قبل از اینکه آنها را در گرید قرار دهد، اجرا شود. از متغیر ‘item’ می توانید استفاده کنید. این قابلیت به شما این امکان را می دهد قبل از این که داده ای را نمایش دهید یک پیغام به شما بدهد.
if (items.length > 0) |
Values
یکی از مهم ترین کارهایی که باید انجام دهید ایجاد ستون لوکاپ بین لیست و کتابخانه ی شماست. با این کار به راحتی می توانید اسناد مربوط به همان آیتم را در گرید نمایش دهید.
مثلا فرض کنید یک کتابخانه اسناد با نام «Order Documents» با یک ستون از جنس لوکاپ با نام «OrderID» دارید که سند «Order Documents» را به یک لیست به نام «Orders» لینک می کند. در این حالت شما نام و مقدار را به صورت زیر وارد میکنید:
Name= OrderID
Value = {c_ID}
(Value می تواند به صورت استاتیک یا محاسبه شده بر اساس فیلدهای موجود باشد).
نکته: در صورتی که در حالت New فرم هستید این مورد کار نمیکند زیرا فیلد شناسه هنوز مقدار نگرفته است.
Fields
Name: نام فیلد. این باید با یک حرف شروع شود و تنها حاوی حروف، اعداد و کارکترهای underscore باشد
Header: هدر فیلد
Script
برای این کنترل گرید قابل اجرا نیست. از SelectionChangedScript و DataLoadedScript استفاده کنید
DocumentUploaded
این رویداد بعد از سند آپلود، با استفاده از کنترل DocumentGrid، اجرا خواهد شد.
مثال:
var grid = form.GetControl(“c_aDocumentGrid”).InputControl; grid.DocumentUploaded.AddHandler(function (e3) { |
DocumentUploading
این کد زمانی که دکمه آپلود در کنترل DocumentGrid را انتخاب می کنید، دقیقا قبل از ارسال اسناد، اجرا می شود.
مثال:
یک صفحه ای به کاربر نمایش می دهد، از اینکه آیا اسناد را آپلود کنید یا خیر، اگر کاربر دکمه بله را انتخاب کند، اسناد ارسال خواهد شد، در غیر این صورت سند ارسال نخواهند شد.
var grid = form.GetControl(“c_aDocumentGrid”).InputControl; grid.DocumentUploading.AddHandler(function (e2) { var conf = confirm(“Are you sure you want to upload this file?”); |