شرح حال ابزارهای گزارشگیری موجود
http://demos.devexpress.com/xtrareportsdemos/ReportControls/XRPivotGrid.aspx
هیچ کد نویسی لازم ندارید! فقط یک کنترل PivotGrid رو تو فرم قرار دهید و گرید رو طراحی کنید، نتیجه مانند دمو میشه!
لیست امکاناتش.
http://documentation.devexpress.com/#XtraReports/CustomDocument2161
یک امکان بسیار جالب که این گزارش گیری داره امکان قرار دادن کنترل های معمولی رو گزارش هست، و همچنین امکان دسترسی به تمامی کنترل های از دورن کد برنامه.
تصور می کنم که اگه یک کنترل PivotGrid معمولی (pivotGrid گزارش امکان تولید خودکار ستون ها رو نداره) رو در گزارش قرار بدیم و datasourceرو برابر خروجی اون تابع در پست بگذاریم، نتیجه مورد نظر که گفتید بدست میاد.
مطالب شما هم همیشه مورد استفاده و بسیار کاربردی بوده، بابت زحماتتون ازتون تشکر می کنم :)
پروژهی DNTIdentity به ASP.NET Core 2.1 ارتقاء داده شد.
- مشاهدهی لیست کامل تغییرات
برای اجرای آن فقط کافی است:
- ابتدا SDK جدید را نصب کنید.
- سپس مجوز SSL آنرا تبدیل به مجوز امن و قابل اطمینان کنید.
- در ادامه به پوشهی DataLayer مراجعه کرده و ابتدا دستور dotnet restore را صادر کنید. بعد از آن دو فایل cmd موجود در آنرا اجرا کنید. فایل اول مهاجرتها را تولید میکند و فایل دوم، آنها را به بانک اطلاعاتی از نوع LocalDB اعمال خواهد کرد. بانک اطلاعاتی تولید شده را در پوشهی wwwroot/App_Data میتوانید مشاهده کنید.
- در آخر به پوشهی اصلی برنامه مراجعه کرده و دو فایل bat موجود در آنرا اجرا کنید. اولی وابستگیها را بازیابی میکند و دومی برنامه را کامپایل کرده و سپس بر روی پورت SSL 5001 ارائه میدهد که بلافاصله در مرورگر قابل مشاهده خواهد بود.
برای اجرای این مراحل نیاز به IDE خاصی ندارید. همینقدر که SDK جدید را نصب کرده باشید، کافی است.
پروژهی DNTIdentity به ASP.NET Core 2.0 ارتقاء داده شد.
- مشاهدهی لیست کامل تغییرات
برای اجرای آن فقط کافی است
- ابتدا SDK جدید را نصب کنید.
- سپس به پوشهی DataLayer مراجعه کرده و ابتدا دستور dotnet restore را صادر کنید. بعد از آن دو فایل cmd موجود در آنرا اجرا کنید. فایل اول مهاجرتها را تولید میکند و فایل دوم، آنها را به بانک اطلاعاتی از نوع LocalDB اعمال خواهد کرد. بانک اطلاعاتی تولید شده را در پوشهی wwwroot/App_Data میتوانید مشاهده کنید.
- در آخر به پوشهی اصلی برنامه مراجعه کرده و دو فایل bat موجود در آنرا اجرا کنید. اولی وابستگیها را بازیابی میکند و دومی برنامه را کامپایل کرده و سپس بر روی پورت 5000 ارائه میدهد که بلافاصله در مرورگر قابل مشاهده خواهد بود.
برای اجرای این مراحل نیاز به IDE خاصی ندارید. همینقدر که SDK جدید را نصب کرده باشید، کافی است.
- اگر برنامهی download manager ایی نصب است که پسوندهای pdf را به صورت خودکار شناسایی و دریافت میکند، کار به نمایش فایل PDF نخواهد رسید. پسوند PDF را از لیست قابل شناسایی آنها حذف کنید.
- اگر Active-X مربوط به Adobe Reader بر روی سیستم کلاینت نصب نباشد، این روش با تمام مرورگرها کار نخواهد کرد؛ چون تمام آنها PDF Reader ندارند (مانند کروم و یا فایرفاکس).
- اگر از کتابخانهی PDF Report استفاده میکنید، متد data.FlushInBrowser(fileName, FlushType.Inline) نکات بحث فوق را دارد.
- روش دیگر اینکار (نمایش فایل PDF در مرورگر) استفاده از Response.Redirect است به آدرس فایل PDF بر روی سرور. اگر مرورگر PDF Reader و یا Active-X مربوطه را داشته باشد و همچنین برنامهی download manager ایی هم مزاحمت ایجاد نکند، فایل PDF در مرورگر نمایش داده خواهد شد (البته در یک صفحهی جدید).
- با استفاده از افزونهی pdf.js هم میتوان فایلهای PDF را رندر کرد (یک مثال و مثالی دیگر).
افزونه فارسی به پارسی برای word 2007
- البته نیازی نیست آن 200 و خردهای مگ را دریافت کنید. علت بالا بودن حجم آن این است که 32 بیتی و 64 بیتی و غیره، همه را با هم دارد. به آدرس زیر مراجعه کنید
http://msdn.microsoft.com/en-us/netframework/aa569263.aspx
روی دکمه نصب کلیک کنید تا یک برنامه 2 مگی در اختیار شما قرار دهد. این برنامه قسمتهای مورد نیاز سیستم شما رو از سایت مایکروسافت دریافت و نصب خواهد کرد. بنابراین حجم کمتری دارد.
- آیا این افزونه به لیست add-in ها در word اضافه شده؟ (شکل سوم در این صفحه)
- event viewer ویندوز را باز کنید. در قسمت run ویندوز تایپ کنید eventvwr.msc و سپس enter (و یا به قسمت administrative tools ویندوز مراجعه کنید این برنامه را مشاهده خواهید کرد). در صفحه باز شده به قسمت applications مراجعه کنید. آیا موردی با source مساوی FarsiToParsi از نوع خطا با آیکون قرمز مشاهده میشود؟ اگر بله، لطفا دوبار روی آن کلیک کنید و توضیحات صفحه باز شده را اینجا ارسال کنید. از روی این خطا میشود مشکل را بهتر بررسی کرد.
با تشکر
توضیحاتی در مورد سیستم Identity پروژه
در این مورد که فرمودید
"به صورت پیش فرض بهتره یک نقش کلی و سیستمی تحت عنوان مدیران ارشد درج شود و بعد از توزیع پروژه، این امکان وجود خواهد داشت که این افراد گروههای کاربری جدید ایجاد کنند و دسترسی به بخشها رو همانطور که متوجه شدید برای گروه درج شده اعمال کنند. "کاملا درسته و به عبارتی با توجه به ساختار پروژه شما این گروه سیستمی میباشد.
و در این مورد :
چون در این سیستم شما نقش هارو پویا کردید مدیر ارشد به راحتی میتونه گروه کاربری درست بکنه که فرضا هیچ اشتراکی نداشته باشن ولی هدف من از طرح این "درخواست راهنمایی" نقش هایی هستند که وجه مشترک دارن . لطفا مثال زیر رو ببینید :موردی رو در نظر بگیرید که اصلا هیچ اشتراکی بین دو گروه کاربری از نظر دسترسیها نباشد ، اون موقع چه کار خواهید کرد؟ اینکه مدیر ارشد ما به چه شکل با سیستم کار میکند خود مختار است.
کل مجوزها : A و B و C و D و E و ...
گروه 1 با مجوزهای A و B
گروه 2 با مجوزهای B و C
( مجوز B بین هر دو مشترکه )
حالا مدیر ارشد میخواد گروهی تشکیل بده که به مجوز A و C نیاز داره. برای این کار بهتره که یک گروه 3 ایجاد کنه که مجوزهای A و C روداشته باشه. ( دقیقا چیزی که فرمودید یعنی ساخت گروه هایی که نقطه مشترکی ندارن )
حالا شرایطی رخ میده که مدیر ارشد میخواد گروهی تشکیل بده که به مجوزهای A و B و C نیاز داشته باشه. به نظرتون باید گروه 1 و گروه 2 رو به کاربران مورد نظر اختصاص بده یا اینکه فرضا یک گروه تشکل بده که این 3 مجوز رو داشته باشن و این گروهرو به کاربران اختصاص بده ؟
با توجه به سیستم طراحی شده شما ، مدیر ارشد میتونه هر دو روش رو طوری که دوست داره پیاده سازی بکنه. که یا یک گروه جدید بسازه یا اینکه هر دو گروه رو به کاربر بده. که این پویا بودن کار رو نشون میده ولی یک سوال برای من پیش اومده اونم اینه که فرض کنید مدیر ارشد گروه 1 و گروه 2 رو به یک کاربر اختصاص بده حالا بعد از مدتی میخواد مجوز B رو از این کاربر بگیرن. با این شرایط باز هم مجبورن از هر دو گروه صرفه نظر کنن چون هر دو گروه مجوز B رو دارن.
در کل هدف من اینه اگر فقط اجازه انتخاب یک نقش برای کاربر رو بدیم آیا این روش مناسب هست یا خیر ( منظورم اینه برنامه نویس اجازه بده مدیران ارشد فقط یک نقش به کاربر بدن و نه چند نقش) ؟ چون اگر این کارو بکنیم باز هم مدیر ارشد میتونه هرکاری که دوست داره بکنه و گروههای زیادی برای خودش اونطوری که دوست داره بسازه با مجوزهای مختلف و به کاربران خاصی نقشهای خاصی بده و در کل جلوی چند نقش دادن به یک کاربر رو بگیریم.
وبلاگها و سایتهای ایرانی
Visual Studio
ASP. Net
طراحی وب
اسکیوال سرور
به روز رسانیها
سیشارپ
عمومی دات نت
PHP
متفرقه
در صورت استفاده از شیوه Feature Folder Structure و نرم افزار Resharper، متوجه خواهید شد که Resharper مسیر Viewها را به درستی تشخیص نمیدهد و در همان مسیر پیش فرض MVC به دنبال آنها میگردد.
برای رفع این مشکل ابتدا بسته
JetBrains.Annotations
را از طریق Nuget دریافت و نصب نموده و سپس در فایل FeatureLocationExpander و در بالای فضای نامی مقادیر زیر را بسته به نیاز خود وارد نمایید.
using JetBrains.Annotations;
[assembly: AspMvcViewLocationFormat("~/Features/{1}/{0}.cshtml")] [assembly: AspMvcViewLocationFormat("~/Features/Shared/{0}.cshtml")] [assembly: AspMvcPartialViewLocationFormat("~/Features/{1}/{0}.cshtml")] [assembly: AspMvcPartialViewLocationFormat("~/Features/Shared/{0}.cshtml")]
لازم به ذکر است در صورت وجود Area میتوان به طور مثال مقادیر زیر را نیز علاوه بر موارد ذکر شده وارد نمود.
[assembly: AspMvcAreaViewLocationFormat("~/Areas/{2}/Features/{1}/{0}.cshtml")] [assembly: AspMvcAreaViewLocationFormat("~/Areas/{2}/Features/Shared/{0}.cshtml")] [assembly: AspMvcAreaViewLocationFormat("~/Features/Shared/{0}.cshtml")] [assembly: AspMvcAreaPartialViewLocationFormat("~/Areas/{2}/Features/{1}/{0}.cshtml")] [assembly: AspMvcAreaPartialViewLocationFormat("~/Areas/{2}/Features/Shared/{0}.cshtml")] [assembly: AspMvcAreaPartialViewLocationFormat("~/Features/Shared/{0}.cshtml")]
در ابتدا در سرور svn که من از برنامهی VisualSVN استفاده کردهام، یک repository ایجاد کرده و یا قسمتی از repository موجود را برای پروژه ویژوال پارادایم اختصاص میدهیم:
سپس طبق استاندارد، فولدرهای استاندارد برای کار با svn را در حین ایجاد repository میسازیم:
در ادامه آدرس فولدر trunk را کپی کرده و برنامه ویژوال پارادایم را باز میکنیم:
از منوی Teamwork گزینهی Open Teamwork Client را انتخاب میکنیم (همانطور که در تصویر مشخص است فعالیتهای svn در این منو وجود دارد مانند branch و tag):
لیستی از سورس کنترلرها در اینجا وجود دارد. تمام فیلدهای لازم را برای کار با ساب ورژن تکمیل میکنیم:
نکته: فیلد آخر، آدرس برنامه ساب ورژن است که همراه برنامهی ویژوال پارادایم نصب شده است.
در پنجرهی Teamwork Client منوی Project گزینه Import Project to Repository را انتخاب میکنیم:
در پنجره بعدی دو حالت برای اتمام اتصال داریم:
1) افزودن یک پروژهی جدید ویژوال پارادایم
2) افزودن پروژه در دست
و بعد از انتخاب (در اینجا من برای سهولت کار از Create new Project استفاده کردم) گزینهی Open Project را انتخاب میکنیم:
اکنون همانطور که میبینید اعمال مربوط به کار کردن با svn در دسترس میباشند: