PDA

View Full Version : داونلود کد: اعمال متداول با GridView در ASP.NET 2.0



Behrouz_Rad
دوشنبه 23 مرداد 1385, 14:30 عصر
سلام.
در راستای تاپیک "داونلود کد: اعمال متداول با DataGrid در ASP.NET" (http://www.barnamenevis.org/forum/showthread.php?t=26216) بر آن شدم تا این بار با استفاده از ASP.NET 2.0 و کنترل GridView که جانشین بر حقی برای Data Grid در دومین نسخه از تکنولوژی ASP.NET است، این برنامه را بازسازی کنم.
در این نسخه، دیتابیس برنامه از Access به SQL Server تغییر پیدا کرده.
برنامه تا حد امکان ساده و خوانا نوشته شده.

تذکر مهم:
قبل از اجرای برنامه، فایل "SetupDataBase.bat" موجود در پوشه ی "Setup Database" را اجرا کنید.
این فایل حاوی دستوراتی جهت ایجاد بانک SQL Server برنامه و اعطای مجوز دسترسی به کاربر ASPNET است.
دستوراتی که در این فایل BAT نوشتم می تونه راهنمای خوبی برای دوستانی که قصد نصب بانک SQL Server بر روی سیستم دیگه ای رو همراه با پروژشون دارن باشه.

موفق باشید.

پ.ن:
نسخه ی دوم برنامه:
http://barnamenevis.org/forum/showpost.php?p=263165&postcount=2

نسخه ی سوم برنامه:
http://barnamenevis.org/forum/showpost.php?p=289262&postcount=9

نسخه ی چهارم برنامه:
http://barnamenevis.org/forum/showpost.php?p=289638&postcount=10

نسخه ی پنجم برنامه:
http://barnamenevis.org/forum/showpost.php?p=302794&postcount=11

نسخه ی ششم برنامه:
http://barnamenevis.org/forum/showpost.php?p=374722&postcount=21

نسخه ی هفتم برنامه:
http://barnamenevis.org/forum/showpost.php?p=692821&postcount=111

Behrouz_Rad
سه شنبه 14 شهریور 1385, 14:14 عصر
نسخه ی جدید برنامه آماده شد!
در این نسخه، یک Context Menu به Grid View اضافه شده است.

توجه مهم:
این Context Menu، هم برای IE و هم برای Firefox به طور کامل عمل می کنه.
این عملکرد کامل، حاصل 3 روز تلاش بی وقفه است. از این رو، شرط استفاده از این Context Menu، باقی گذاشتن کامنت مربوط به Copyright در فایل Menu.js هست.
این Context Menu رو به طور کاملا سفارشی و تنها برای این GridView نوشتم.
لذا در صورت تمایل برای استفاده، عمده تغییرات مورد نیاز، اصلاح تابع جاوا اسکریپت execMenu هست.

تذکر:
این Context Menu در IE با یک اشکال مواجه هست.
- در صورتی که قسمتی از Context Menu با DropDownList تداخل داشته باشه، اون قسمت در زیر DropDownList قرار میگیره!
در صدد رفع این مشکل هستم. در صورتی که دوستان موفق به رفع این مشکل شدند، خوشحال میشم که راه حلشون رو در اختیار بنده بگذارند.
توجه داشته باشید که مشکل فوق در Firefox وجود ندارد.

Screenshot ای از این Context Menu را در ذیل مشاهده می کنید:

http://i4.tinypic.com/2qixkw5.gif


موفق باشید.

پ.ن: در صورتی که مشکلی در ارتباط با Context Menu مشاهده فرمودید، در همین تاپیک اعلام بفرمایید.

mahboobeh
پنج شنبه 30 شهریور 1385, 10:25 صبح
اول خیلی تشکر میکنم ازتون برای این برنامه
میشه لطف کنید توضیح بدید این setupDataBase رو چطور درست کردید ؟
و همینطور اون sqlScriptFile رو چون من Script که می سازم رکوردهای بانک رو شامل نمیشه
ممنون.

Behrouz_Rad
جمعه 31 شهریور 1385, 21:26 عصر
میشه لطف کنید توضیح بدید این setupDataBase رو چطور درست کردید ؟
اگر کمی با دستورات اسکریپت نویسی در ویندوز آشنا باشی میبینی که کار سختی نیست!

اون sqlScriptFile رو چون من Script که می سازم رکوردهای بانک رو شامل نمیشه
بنده اون فایل رو دستکاری کردم. دستوراتی به اون اضافه کردم تا تعدادی رکورد پیش فرض در دیتابیس ایجاد کنه.

موفق باشید.

mehdi000
دوشنبه 03 مهر 1385, 07:21 صبح
خیلی خوب جالب

irdelta
سه شنبه 04 مهر 1385, 21:45 عصر
دستتون درد نکونه سه روزه دارم می کردم ولی بیفایده بود ولی شما گل کاشتین

javad3151
شنبه 27 آبان 1385, 11:07 صبح
ضمن تشکر از زحمات شما،
شما بیشتر کارها رو (خواندن اطلاعات/ویرایش/حذف ) با کد نویسی انجام دادید در حالیکه در دات نت 2.0 میشه اینها رو بدون کد نویسی انجام داد(ولی شما از این امکانات جدید استفاده نکردید) ، آیا دلیل خاصی داشته؟
این شیوه شما باعث افت سرعت نمیشه(مخصوصا وقتی حجم داده ها بالابره)؟
بطور خلاصه این فایلی که شما گذاشتید تفاوت چندانی با فایل قبلی (که با datagrid انجام شده بود) نداره

Behrouz_Rad
شنبه 27 آبان 1385, 12:00 عصر
اصولا بشر همیشه در تلاش برای دستیابی آسان تر به خواسته هاشه.
در ASP.NET 1.x، کار با داده ها مستلزم آشنایی با ADO.NET بود. در ASP.NET 2.0، تمامی تلاش مایکروسافت در هر چه درگیر کردن کمتر برنامه نویس با کدهاست.
و به قولی تا 70 درصد موفق به کاهش حجم کدنویسی شده!
امکانات جدید (که DataSource ها نیز شامل اون میشن)، در اکثر موارد توسط برنامه نویسان مبتدی استفاده میشه.
این امکانات، برنامه نویس رو در دقیق شدن در کدهای اجرایی و آگاهی از آنچه که در پشت صحنه اتفاق می افته بی نیاز می کنه. به عبارت دیگه، برنامه نویس رو تنبل می کنه!
برنامه نویس از جزئیات پشت صحنه خبر نداره و نمی تونه دقیقا عامل بروز مشکلات احتمالی رو پیدا کنه.
ضمن اینکه کنترل های آماده، واسطه هایی هستند بین کدی که میشه به معنای واقعی برای اونها نوشت و کاری که انجام میدن.
به عنوان مثال اگر تو در یک SqlDataSource، یک ConnectionString ایجاد می کنی و SqlDataSource به SqlConnection مراجعه می کنه، اما در کدنویسی تو به طور مستقیم با SqlConnection سر و کار داری! پس بحث سرعت در اینجا به نفع....؟

موفق باشید.

Behrouz_Rad
یک شنبه 26 آذر 1385, 14:56 عصر
نسخه ی سوم برنامه آماده شد.

تغییرات در این نسخه شامل افزودن قابلیت Paging و امکان ایجاد خروجی از داده ها با فرمت Excel است.


قابلیت Paging
فعال کردن قابلیت Paging برای GridView با تنظیم خاصیت AllowPaging آن به true میسر خواهد بود.
اما در این حالت، با درخواست هر صفحه، تمامی رکوردها بازیابی خواهند شد و نسبت به صفحه ی درخواستی، رکوردهای مرتبط با آن صفحه نمایش داده می شوند.
مسلما این حالت در زمانی که تعداد رکوردها زیاد باشد، باعث افت قابل ملاحظه ی سرعت و ایجاد سربار بر روی سرور می شود.
راهی که بدین منظور پیشنهاد شده، استفاده از SP است. بدین صورت که از طریق SP، یک جدول موقت در حافظه ایجاد می کنند و از طریق عملیاتی، داده های مورد نظر را استخراج می کنند.
این SP یک SP ثابت در کلیات و متغیر در جزئیات است که برنامه نویس نسبت به نیاز خود می تواند برخی قسمت های آن را تغییر دهد.
از این SP در CS CMS نیز استفاده شده.
در این برنامه نیز این SP با نام spBindGridView وجود دارد.

روالی با نام Fill_Paging_DropDown در برنامه تعریف شده که با دریافت تعداد رکوردها، با تقسیم تعداد رکوردها بر تعداد رکوردهایی که در هر صفحه قصد نمایش آنها را داریم (در این برنامه، تعداد نمایش رکوردها در هر صفحه، 5 رکورد در نظر گرفته شده)، تعداد صفحات را به دست می آورد و با یک حلقه ی For، از 1 تا تعداد صفحات به دست آمده را به یک DropDownList اضافه می کند.
در این حالت، کاربر می تواند با انتخاب شماره ی صفحه، به صفحه ی مورد نظر برود.

توجه داشته باشید که SP یاد شده، یک SP از نوع Batch Query است که در اولین Recordset خود تعداد رکوردها و در دومین Recordset خود، رکوردهای بازیابی شده را نگهداری می کند.

در این برنامه، داده های بازیابی شده در یک DataReader قرار می گیرند. در DataReader این امکان به برنامه نویس داده شده تا با استفاده از متد NextResult، به Recordset بعدی برود.


قابلیت ایجاد خروجی از داده ها با فرمت اکسل
در برنامه های کاربردی، معمولا ایجاد خروجی از داده ها با فرمت های مختلف، یکی از اعمال متداولی است که انجام می پذیرد.
یکی از خروجی های محبوب، فرمت اکسل است.
ابزارها و کامپوننت های مختلفی بدین منظور ایجاد شده اند اما یک روش قدرتمند، کارامد و ساده وجود دارد که اکثرا برنامه نویسان از آن غافل هستند!
مجموعه ی Office قابلیت ایجاد تعامل با زبان HTML را به خوبی فراهم کرده.
برنامه هایی همانند Word و Excel، این امکان را به کاربر می دهند تا فایل های خود را در این برنامه ها با قالب HTML ذخیره کرده و مجددا در این برنامه ها فراخوانی کند! (قابل توجه دوستانی که با ایجاد تعامل با فایل های Word در برنامه های خود مشکل دارند)
اگر اندکی در جزئیات کار ریز شوید، انعظاف پذیری فوق العاده ای را در تعامل این برنامه ها با HTML خواهید دید!
به شکل ساده، یک سَنَد Excel ایجاد کرده و پس از پُر کردن چند سلول از آن، از منوی File، گزینه ی Save as Web Page را انتخاب کنید.
پس از ذخیره ی سند، آن را در Notepad یا هر ویرایشگر متنی دیگر باز کنید.
فایل Excel خود را با قالب HTML خواهید دید! حتی می توانید این فایل را در Excel باز کرده و همانند یک فایل Excel واقعی با ان کار کنید!
جالب بود... ما نیز از همین قابلیت برای ایجاد خروجی داده ها با فرمت Excel بهره می بریم.

ساختار HTML توسط ما و از طریق کدنویسی در زمان اجرا ایجاد خواهد شد.
متغیر رشته ای strResult که در روال ExportToExcel تعریف شده در ابتدای کار مقدار زیر را می پذیرد:


strResult = "<html><head><meta http-equiv=Content-Type content=""text/html; charset=windows-1256""><style> .text { mso-number-format:\@; } .xl24 {font-family:Tahoma, sans-serif; mso-font-charset:0;}</style></head><table><tbody>"

پیشنهاد می کنم که charset صفحه و برخی قالب های تعریف شده در تگ style رو بنا به تجربه، همانند مقادیر بالا در نظر بگیرید.
با یک حلقه ی Do While، رکوردهای بازیابی شده را از طریق DataReader استخراج و ساختار HTML را نیز همگام با بازیابی داده ها ایجاد می کنیم. (هر فیلد در یک تگ TD و هر رکورد در یک تگ TR)

پس از پایان کار، نوع محتویات خروجی صفحه را با استفاده از خاصیت ContentType کلاس Response به مقدار ثابت ";application/vnd.xls" تنظیم می کنیم. این کار، به مرورگر خواهد گفت که نوع داده های خروجی از نوع MIME-TYPE اکسل است. در نهایت، با متد Write کلاس Response، داده ها را به مرورگر کاربر ارسال می کنیم.

نکته مهم:
پس از پایان کار و مشاهده ی فایل ایجاد شده در Excel، متوجه شدم که حرف "ی" در کلمات به شکل علامت سوال "؟" نمایش داده می شود!
فایل را با Notepad نگاه کردم اما حرف "ی" به درستی نمایش داده میشد!
پس مشکل از حرف "ی" نبود و مشکل را باید در اکسل جستجو می کردم.
یک فایل جدید در اکسل ایجاد کردم و عبارتی را که حاوی حرف "ی" بود در آن تایپ و صفحه را با فرمت HTML ذخیره کردم.
پس از باز کردن فایل در Notepad، متوجه نکته ی جالبی شدم!
اکسل، حرف "ی" را با کد معادل آن یعنی ";1740#&" جایگزین می کند!!!
پس به این نتیجه رسیدم که اگر حروف "ی" را در هنگام ایجاد خروجی با کد ذکر شده جایگزین کنم، مشکل برطرف خواهد شد.
حدسم صحیح بود و با این عمل جایگزینی، حرف "ی" به درستی نمایش داده میشد!


strResult = strResult.Replace("ی", ";1740#&")

البته کد فوق در اینجا به درستی نشان داده نشده!

موفق باشید.

Behrouz_Rad
دوشنبه 27 آذر 1385, 18:39 عصر
نسخه ی چهارم برنامه آماده شد.

هنگامی که منبع داده ی بایند شده به GridView خالی از رکورد باشد، GridView نمایش داده نمی شود.
برای رفع این مشکل، GridView ساختاری با نام EmptyDataTemplate معرفی کرده که قالب نمایشی GridView را در زمان خالی بودن منبع داده ی آن مشخص می کند.

همچنین پس از حذف رکوردهای آخرین صفحه از GridView، روال Fill_Paging_DropDown از طریق روال BindGridView فراخوانی می شود.
در این حالت، مقدار Index انتخابی DropDownList برابر با مقدار نگهدارنده ی آن در ViewState تنظیم خواهد شد.
از آنجا که پس از حذف رکوردهای آخرین صفحه، از تعداد صفحات GridView یک واحد کاسته می شود و در ViewState همچنان مقدار صفحه ی آخر وجود دارد، در هنگام تنظیم مقدار Index، کنترل DropDownList با خطایی از نوع ArgumentOutOfRangeException مواجه خواهیم شد!
برای رفع این مشکل، این خطا را Catch کرده و در بلوک Catch، مقدار ViewState را یک واحد کاهش می دهیم و مجددا روال BindGridView را با مقدار جدید ViewState فراخوانی می کنیم.

همچنین در اواخر فایل aspx برنامه، دستورات زیر نوشته شده بودند:


<script language="javascript" type="text/javascript">
document.getElementById("gridelement").value='<%= GridView1.FooterRow.Cells(6).Controls(1).ClientID %>,<%= GridView1.FooterRow.Cells(5).Controls(0).ClientID %>,<%= GridView1.HeaderRow.Cells(6).Controls(1).Controls( 0).Controls(0).ClientID %>';
</script

این دستورات به منظور شناسایی عناصر GridView برای عملکرد Context Menu مورد نیاز بودند و به تعدادی از عناصر موجود در Header و Footer کنترل GridView مراجعه می کردند.
ساختار GridView در زمان پُر بودن و خالی بودن منبع داده ی آن متفاوت هست. پس مسلما دستورات فوق در زمان خالی بودن GridView با خطا مواجه خواهند شد!
Context Menu ی ایجاد شده تنها در زمان وجود رکورد معنا پیدا خواهد کرد. از این رو، باید به طریقی خالی بودن یا نبودن منبع داده ی GridView را بررسی کنیم و در صورت پُر بودن آن، دستورات فوق را فراخوانی کنیم.
چون صحبت از شرط به میان آمد، این دستورات باید از فایل aspx حذف شوند و در فایل کد برنامه نوشته شوند.
من در روال LoadComplete فرم، با بررسی تعداد رکوردهای GridView (بزرگتر از صفر)، این کار را انجام دادم:


If (GridView1.Rows.Count > 0) Then
gridelement.Value = GridView1.FooterRow.Cells(6).Controls(1).ClientID & "," & GridView1.FooterRow.Cells(5).Controls(0).ClientID & "," & GridView1.HeaderRow.Cells(6).Controls(1).Controls( 0).Controls(0).ClientID
End If


تغییرات در این نسخه شامل استفاده از ساختار EmptyDataTemplate و بر طرف ساختن 2 باگ فوق است.

موفق باشید.

Behrouz_Rad
یک شنبه 08 بهمن 1385, 12:45 عصر
شاهد پنجمین نسخه ی این برنامه هستید.

http://i10.tinypic.com/3yrfx9w.gif
امکانات در این نسخه شامل:
1) بهینه سازی کدها
2) نمایش شماره ی صفحه - صفحه ی n از n
3) نمایش تعداد رکوردها
4) ایجاد خروجی با فرمت متنی -Text - txt
5) ایجاد خروجی با فرمت ورد -Word - doc
6) دسته بندی فایل های JS و CSS
7) ایجاد امکان مشاهده ی فایل های خروجی بدون ذخیره و در حالت Open
8) ایجاد امکان جستجوی درجا بدون نیاز به Postback صفحه و حذف فیلتر جستجو!

ایده ی امکان جستجوی درجا رو از Firefox برداشت کردم. همون طور که می دونید، گزینه ی "Highlight all" در فایرفاکس، تمامی کلمات یافت شده در صفحه رو با پس زمینه ی زرد رنگ نشون میده.
در قابلیت جدیدی که برای GridView گذاشتم (همون طور که در تصویر می بینید)، کلمات پیدا شده با پس زمینه ی زرد رنگ هایلایت می شوند.
این قابلیت با استفاده از جاوا اسکریپت ایجاد شده و در چشم بر هم زدن، نتیجه ی جستجو رو مشاهده خواهید کرد!
فایل "SearchHighlight.js"، حاوی دستورات جستجو هست.
Comment موجود در این فایل نباید حذف بشه!
متدها به صورت عمومی برای تمامی برنامه ها قابلیت اجرایی دارند و منحصر به این برنامه نیستند.
در این فایل، دو متد اصلی وجود داره:
متد "clearLastesult" برای حذف نتیجه ی جستجوی قبلی.
متد "highlightWord" برای جستجوی عبارت مورد نظر.

دو متد فوق به طریق بازگشتی (Recursive) در تگ های عنصری که برای اونها مشخص میشه حرکت می کنند.

موفق باشید.:لبخندساده:

rezaei manesh
یک شنبه 08 بهمن 1385, 12:54 عصر
با تشکرات فراوان از شما جناب راد
من از نسخه های قبلی شما که خیلی درس گرفتم و از اونا به عنوان الگو استفاده می کنم
و این نسخه جدید شما هم که دیگه شاه کاره

Behrouz_Rad
یک شنبه 08 بهمن 1385, 14:18 عصر
یکی از دوستان پرسیدند:


هیچ Namespace ای در برنامه Import نشده! پس به چه شکل از کلاس ها استفاده شده؟

در NET 2.0. این امکان رو دارید تا Namespace ها رو در فایل Web.Config تعریف کنید.
در این برنامه نیز به همین شکل عمل شده.

موفق باشید.

AspNet
سه شنبه 10 بهمن 1385, 20:21 عصر
شرمندمون کردین به خدا

habedijoo
یک شنبه 15 بهمن 1385, 09:20 صبح
با سلام به همگی .
قبل از هر چیز از جناب آقای راد بابت به اشتراک گذاشتن تجربیاتشون نهایت تشکر را دارم .
موقع اجرا، برنامه این Error رو میده :
Procedure spBindGridView has no parameters and arguments were supplied.
در واقع spBindGridView هیچ پارامتر ورودی نداره ولی داخل برنامه براش پارامتر ارسال شده . من که نتونستم از نسخه 2 به بعدش رو اجرا کنم .(البته بصورت کامل) در ضمن تمامی اسکریپتهای مربوط به دیتابیس رو هم اجرا کردم .
آیا بقیه دوستان هم چنین مشکلی رو داشتن .؟ اگر نه لطفا یه نفر منو راهنمایی کنه .
با تشکر از همگی .

Behrouz_Rad
یک شنبه 15 بهمن 1385, 21:14 عصر
دیتابیس قبلی که توسط نسخه های قبلی ایجاد شده رو حذف کن و اسکریپت نسخه ی جدید رو اجرا کن.

من که نتونستم از نسخه 2 به بعدش رو اجرا کنم .
چون spBindGridView از نسخه ی 3 به بعد دارای پارامتر شد!!!

موفق باشید.

khz-web1
پنج شنبه 24 اسفند 1385, 15:00 عصر
سلام یک فیلم آموزشی بساز بزار اینجوری نفهمیدیم چی شد
:افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده:

rezaei manesh
شنبه 26 اسفند 1385, 08:00 صبح
عجب
اما من می گم بهتر یه کلاس هم بذاره واسش !
دوست عزیز فکر نمی کنی که بهتر باشه یکم بهت زحمت بدی ؟

M_Bikdli
یک شنبه 26 فروردین 1386, 23:29 عصر
سلام
دوست عزیز کارت فوق العاده بود، ولی یک اشکال داره اون هم اینه که تغیر دادن توش و استفاده کردن برای پروژهای دیگه تقریبا غیره ممکنه، اگه میتونی به صورت کلاس درش بیار،به سوالات دیگران هم جواب بدی صواب می بری!!!
باز هم بخاطر اشتراک گذاشتن کارت ممنون

Behrouz_Rad
دوشنبه 27 فروردین 1386, 09:06 صبح
سلام
دوست عزیز کارت فوق العاده بود،
مرسی.

ولی یک اشکال داره اون هم اینه که تغیر دادن توش و استفاده کردن برای پروژهای دیگه تقریبا غیره ممکنه، اگه میتونی به صورت کلاس درش بیار،
ایجاد کلاس شرایط خاص خودش رو داره... و اصلا ربطی به این موضوع نداره...
میشه قابلیت هایی که در این تاپیک دیدی رو به صورت امکانات سفارشی به GridView اضافه کرد و اون رو به صورت یک کنترل آماده در آورد اما از اونجایی که هدف من، نحوه ی استفاده کردن از GridView موجود و نه ساخت یک کنترل جدید است، لزومی در انجام این کار نمیبینم.

به سوالات دیگران هم جواب بدی صواب می بری!!!
سوالات دیگران اگر پیرامون این تاپیک باشه پاسخ داده میشه و اگر مثلا در مورد نحوه ی عملکرد روال RowDataBound باشه ربطی به این تاپیک نداره...!

در مورد ثواب هم شما نگران نباش! اونی که قراره ثواب بده و اونی که قدر ثواب بردن رو می دونه، خودش حساب و کتاب دستشه!

و من ا... التوفیق

Behrouz_Rad
شنبه 13 مرداد 1386, 13:45 عصر
شاهد نسخه ی ششم این پروژه هستید.

امکانات و اصلاحات این نسخه شامل:

1) ارتقای دیتابیس برنامه به SQL Server 2005
2) استفاده از معماری 3 لایه
3) اضافه کردن امکان مشاهده ی جزئیات به صورت Popup Menu با استفاده از AJAX
4) حل مشکل Export حروف فارسی در Office 2007
5) تغییر تابع Export برای تعیین رنج دلخواه Export رکوردها
6) استفاده از دو SP ی جدید با بهره گیری از امکانات جدید SQL Server 2005 برای Paging و حذف رکوردها
7) درج صحیح شماره ردیف برای صفحات بعدی و رکوردی که قرار هست ثبت بشه.
8) تصحیح نمایش تعداد رکوردها در Context Menu


دیتابیس برنامه به صورت فایل های mdf و ldf و با نام GridView_DB در پوشه ی App_Data قرار داره. دیتابیس رو در Attach، SQL Server 2005 کنید.

امکانات دیگه ای نیز به زودی به عنوان همین نسخه اضافه میشه.

موفق باشید.:لبخندساده:

ali643
یک شنبه 14 مرداد 1386, 09:26 صبح
تشکر از بهروز راد به خاطر اون تابع خوشگل جداکننده آرایه و همچین GridView خوشگلش
من اون هفته مشکل جدا کردن آرایه رو داشتم با این تابع دیگه میشه هم بهینه کار کرد هم راحت

parandeh1383
دوشنبه 22 مرداد 1386, 17:13 عصر
سلام
من با #C کار می کنم. چطور میتونم از این توابع در آن زبان استفاده کنم؟ با تشکر.

ealireza
جمعه 26 مرداد 1386, 08:57 صبح
اگر یک جا بصورت دمو نصبش میکردی خیلی خوب بود
موفق باشید

Behrouz_Rad
جمعه 26 مرداد 1386, 12:33 عصر
اگر یک جا بصورت دمو نصبش میکردی خیلی خوب بود
موفق باشید
فکر خوبیه.
در سایت شخصیه خودم نصبش می کنم.:لبخندساده:

مرسی.

Behrouz_Rad
یک شنبه 28 مرداد 1386, 10:30 صبح
نسخه ی نمایشی این پروژه در لینک زیر قابل دسترسی است.

http://GridView.CodePro.ir

javad3151
یک شنبه 28 مرداد 1386, 11:15 صبح
دمت گرم، خیلی عالیه:تشویق:
برای "شماره تقاضا" یه فیلتر بزار که فقط عدد قبول کنه( موارد SQL Injection و کنترل خطا ها و.. رو هم که خودت کاملا مسلطی:لبخند:)

Behrouz_Rad
یک شنبه 28 مرداد 1386, 11:21 صبح
دمت گرم، خیلی عالیه:تشویق:
برای "شماره تقاضا" یه فیلتر بزار که فقط عدد قبول کنه( موارد SQL Injection و کنترل خطا ها و.. رو هم که خودت کاملا مسلطی:لبخند:)
برای شماره ی تقاضا در این نسخه Validator گذاشته بودم اما چون با یک قسمت ناسازگاری داشت فعلا حذفش کردم...
SQL Injection هم نداره...
کنترل خطاها هم به طور کامل انجام میشه.
فقط نکته ای که هست اینه که من خود پیغام خطا رو به دلیل Demo بودن نمایش میدم اما دوستان باید خطا رو به شکل دیگه هندل کنن.

مرسی.

zahracomputer
یک شنبه 28 مرداد 1386, 20:44 عصر
سلام
با تشکر فراوان از زحماتتون و کدهای جالب و مفیدی که در اختیار همگان قرار میدهید.
من این برنامه را با استفاده از یک conventor به C# تبدیل کردم ولی موقع اجرا روی خط
SqlCommand Cmd = newSqlCommand("spBindGridView", Cnn);
این error را میده
Could not find stored procedure 'spBindGridView'.
کلاً spBindGridView و
spChildPieceList و ... که در دستور sqlcommand نوشته می شوند چه هستند و چگونه باید آن ها را به پروژه اضافه کرد؟
با تشکر

Behrouz_Rad
یک شنبه 28 مرداد 1386, 22:16 عصر
فایل نیست! Stored Procedure هست!
فایل GridView_DB رو در Attach، SQL Server 2005 کن.

موفق باشید.

habedijoo
دوشنبه 29 مرداد 1386, 07:51 صبح
فقط آژاکسش میمونه . که اونم فکر کنم با پنل مایکروسافت براحتی کارش راه می افته

fereshtehrahimi
دوشنبه 29 مرداد 1386, 12:33 عصر
سلام چه طور می تونم برای دیتابیس sql setup درست کنم درست مثل همونی که شما درست کرده اید با تشکر fereshteh

Behrouz_Rad
دوشنبه 29 مرداد 1386, 12:34 عصر
خود شما داری میگی مثل همونی که من درست کردم!
پس از همون ایده بگیر...

Arian_61
پنج شنبه 01 شهریور 1386, 20:02 عصر
salam. man SQL 2005 ro systemam nasb nist vali hamash error zir o mide

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Arian_61
پنج شنبه 01 شهریور 1386, 20:02 عصر
help me plz

Behrouz_Rad
پنج شنبه 01 شهریور 1386, 22:00 عصر
در مورد این خطا زیاد بحث شده و ارتباطی با این تاپیک نداره.
شاید Connection String رو با سیستمت ست نکردی، شاید...
جستجو کن.

ashena29
سه شنبه 06 شهریور 1386, 13:06 عصر
با تشکر از زحمات شما من از همون نسخه اولیه در جایی استفاده می کنم .
مشکلی که من دارم این است که در هنگام ویرایش دراپ ها از اول پر می شوند و انتخاب قبلی کاربر از بین می رود حال چگونه این مشکل راحل کنم که در زمان ویرایش و هنگام اضافه کردن یک ردیف دراپ ها همان انتخاب کاربر باشد

merychobi
چهارشنبه 04 مهر 1386, 10:58 صبح
سلام
وقتی می خوام نسخه 4 برنامه رو اجرا کنم یعنی قسمت نصب دیتابیس خطا می دهد
دیتابیس نسخه قبل رو پاک کردم و این رو اجرا کردم ولی خطا داد
اگه ممکنه Storedprocedure مربوط به spbindgrideview رو برام بنویسید چون دیتا بیس اجرا نمی شه
خطا :

the publisher could not be verified

Hossein Bazyan
چهارشنبه 04 مهر 1386, 11:34 صبح
سلام
دوستان در این آدرس هم میتوانید اطلاعات خوبی به دست بیاورید.

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/gridview.aspx

abolfazl585
چهارشنبه 04 مهر 1386, 13:56 عصر
جناب behrouz_rad عزیز:
من کار شما رو دانلود کردم.
جالب بود.
جالبتر اینکه تو 3 روز تمومش کردین.
اگه بررسی کرده باشین وقتی که همه سطرهای دیتا بیس حذف بشن دیگه نمیشه چیزی رو Add کرد یعنی grid مخفی میشه و ContextMenuی هم وجود نداره تا ...
در ضمن وقتی که رکوردی وجود نداره اگه فرم رو دوباره باز کنی Error میده.
معمولا این مشکل بدلیل اینکه خیلی پیش و پا افتاده هست اکثرا وجود داره.
ولی باز هم تشکر میکنم که این جور مطالب خوب رو ارائه میکنید.

Behrouz_Rad
چهارشنبه 04 مهر 1386, 14:22 عصر
نه برادر من... اشتباه می کنی... این برنامه هیچ Bug ای نداره...!
مشکل عدم نمایش GridView در زمان حذف تمامی رکوردها در نسخه ی 4 برطرف شد.
http://barnamenevis.org/forum/showpost.php?p=289638&postcount=10

نسخه ی نصب شده ی این برنامه رو میتونی در لینک ذیل ببینی:
http://GridView.CodePro.ir

در ضمن، مشکل زیر رفتن Context Menu هم که در پیغام خصوصی اشاره کردی یک باگ در IE هست. من در جایی نگفتم که این مشکل از منه یا از اسکریپتی که نوشتم!

موفق باشی.

merychobi
چهارشنبه 04 مهر 1386, 17:28 عصر
ببخشید من نتونستم دیتا بیس نسخه 3 به بعد رو اجرا کنم چون به من خطا میداد
اگه ممکنه spbindgrideview که دارای پارامتر است رو برای من بذارید

abolfazl585
پنج شنبه 05 مهر 1386, 08:55 صبح
در ضمن، مشکل زیر رفتن Context Menu هم که در پیغام خصوصی اشاره کردی یک باگ در IE هست. من در جایی نگفتم که این مشکل از منه یا از اسکریپتی که نوشتم!

دوست عزیز من نگفتم اشکال از اسکریپت هست.
حتی اگه یادتون باشه گفتم که یاهو هم این مشکل رو داره که مربوط به باگ IE میشه.
من حتی بهتون گفتم که ListBox هم در IE همین مشکل رو داره.
بهر حال واقعا زحمت کشیدین

mehrdad201
یک شنبه 08 مهر 1386, 22:36 عصر
اقای راد قیل از هر چیز ممنون بابت زحماتی که کشیده اید.

واقعا گرید ویوی زیباییه.

میخواستم بدونم که میشه از گرید ویوتون به همراه دیتابیس SQL 2000 استفاده کرد؟؟؟
مشکلی پیش نمیاد.
من اون فایل کوئری رو در SQL 2000 اجرا کردم. یه دیتابیس ساخت. رفتم توی پروژه شما که دانلود کرده بودم (ورژن شش رو گرفتم) و کوئری استرینگ رو تصحیح کردم (واسه SQL 2000)

اما وقتی پروژه رو اجرا می کنم این پیغام رو میده:
Procedure spBindGridView has no parameters and arguments were supplied.

امکان این هست که بفرمایید برای حل این مشکل دقیقا باید چه کار کرد؟

Behrouz_Rad
یک شنبه 08 مهر 1386, 22:40 عصر
دیتابیس پروژه در نسخه ی 6، SQL Server 2005 هست. ساختار دیتابیس در این نسخه کمی تغییر کرده.

موفق باشید.

mehrdad201
یک شنبه 08 مهر 1386, 22:44 عصر
پس امکان استفادش در sql 2000 نیست. حیف...

یک سوال دیگه آقای راد. در مورد اون پاپ آپ بخش مشاهده. همون جایی کی وقتی روی کلید مشاهده کلیک می کنیم یه پاپ آپ میندازید و جزئیات رو نشون میدید.

یه توضیحی در باره اون میدید ؟؟!؟!؟ من پروژه رو دانلود کردم. اما طرز کار اینو متوجه نشدم.

Behrouz_Rad
یک شنبه 08 مهر 1386, 22:47 عصر
یک Table هست که مکان کلیک رو تشخیص میده و در همون جا ظاهر میشه.
فایل های جاوا اسکریپت مرتبط با این Popup Menu در فایل MenuAjax.js هستند.

موفق باشید.

mehrdad201
دوشنبه 09 مهر 1386, 17:37 عصر
من از دیتابیس سرورم رو عوض کردم. الان از نسخه 2005 استفاده می کنم.

اما کماکان این ارور رو میده:
Procedure spBindGridView has no parameters and arguments were supplied.

به نظر شما کجا ممکنه اشتباه کرده باشم ؟!؟!؟

Behrouz_Rad
دوشنبه 09 مهر 1386, 20:26 عصر
شما از نسخه ی آخر این برنامه (نسخه ی 6) استفاده کن و فایل دیتابیس رو در SQL Server 2005 اتچ کن. مطمئن باش هیچ مشکلی وجود نداره...

موفق باشید.

Behrouz_Rad
چهارشنبه 11 مهر 1386, 21:50 عصر
این پروژه رو در CodeProject قرار دادم...

http://www.codeproject.com/useritems/functions-gridview.asp

موفق باشید.

merychobi
یک شنبه 15 مهر 1386, 04:23 صبح
سلام
آقای راد اگه ممکنه یه سری به پیام های خصوصی بزنید راستی اگه ممکنه دوباره خواهش میکنم spbindgridviewبا پارامتر را بذارید

hamedgh
جمعه 04 آبان 1386, 14:52 عصر
سلام ممنون از پروژه که گذاشتین می خواستم بپرسم گرته برداری علمی از پروژه شما اشکالی ندارد یا باید با ذکر منبع باشد ممنون از پروژه زیبایتان

Behrouz_Rad
جمعه 04 آبان 1386, 19:43 عصر
سلام ممنون از پروژه که گذاشتین می خواستم بپرسم گرته برداری علمی از پروژه شما اشکالی ندارد یا باید با ذکر منبع باشد ممنون از پروژه زیبایتان
فقط برای فایل های جاوا اسکریپت Comment ها رو حذف نکن.

sm
جمعه 04 آبان 1386, 20:29 عصر
آقا بهروز، قبل از هرچیز از زحمات بی مزد و منتتون برای دوستان سپاسگزارم... خدا بهتون عوض خیر بده... خیلی خیلی ممنون
من میخوام تو پروژم از این ابزار استفاده کنم که مشکل دارم... کامل براتون توضیح می دم تا درصورت امکان بتونم با راهنمایی های شما حلش کنم.
من از این گرید توی یه page جدا استفاده کردم و هیچ مشکلی نداشت ولی بعد اومدم از master page استفاده کردم
اولش با جاوا اسکریپت و onload برای تگ body مشکل داشتم که اونا رو حل کردم الان کامل جاوااسکریپ رو میشناسه و اجرا میکنه ولی توی نمایش گرید به مشکل برخوردم اونم اینکه :
1- اول که فرم لود میشه context menu رو بالای گرید نشون میده
2- وقتی روی سطری راست کلیک میکنم بازم منو بالای گرید هست و نمیاد روی سطر جاری ونمیتونم روی سطرای منو حرکت کنم
نگفته نمونه که با اینکه اولش منو رو بالای گرید نشون میده ولی وقتی روی گرید کلیک میکنم منو پنهان میشه هرچند جاش بالای گرید خالی میمونه
اینم رو باید بگم که بقیه جاوااسکریپتها که مربوط به رنگی کردن سطرهای گرید در زمان حرکت روشونه کامل کار میکنه و فقط با context menu مشکل داره

حالا اومدم به جای استفاده از master page از iframe استفاده کردم که مشکل حل شد ولی ترجیح میدم از masterpage استفاده کنم .. ممنون میشم راهنماییم کنین

Behrouz_Rad
شنبه 05 آبان 1386, 11:00 صبح
Context-Menu در ابتدا نمایش داده نمیشه و خصوصیات خودش رو از کلاس contextMenus در فایل CSS به ارث میبره...
تشخیص دلیل مشکلت آسون نیست...

sm
شنبه 05 آبان 1386, 12:42 عصر
خوب... یعنی نمیشه همراه با masterpage استفاده کرد؟
اگه نشه پیشنهادتون برای جایگزینی اون همون iframe هست یا چیز دیگه؟

موفق باشید

hamedgh
شنبه 05 آبان 1386, 13:10 عصر
سلام
باز از پروژه زیبایتان ممنون
این Schema دیتا ستتان را می شود ارائه کنید تا بهتر روند کار را درک کنیم چون من نمی خواهم کپی برداری کنم می خواهم یکی مثلش را خودم با سی شارپ بنویسیم فقط می خواهم به درک کاملی از پروژه برسم تا راحت هر مدلی را که خواستم پیاده سازی کنم

Behrouz_Rad
شنبه 05 آبان 1386, 13:44 عصر
خوب... یعنی نمیشه همراه با masterpage استفاده کرد؟
اگه نشه پیشنهادتون برای جایگزینی اون همون iframe هست یا چیز دیگه؟

موفق باشید
نگفتم که نمیتونی از Master Page استفاده کنی!
پیشنهادم همون Master Page هست + کمی دقت برای بر طرف کردن مشکلت.

موفق باشید.

Behrouz_Rad
شنبه 05 آبان 1386, 13:55 عصر
این Schema دیتا ستتان را می شود ارائه کنید تا بهتر روند کار را درک کنیم چون من نمی خواهم کپی برداری کنم می خواهم یکی مثلش را خودم با سی شارپ بنویسیم فقط می خواهم به درک کاملی از پروژه برسم تا راحت هر مدلی را که خواستم پیاده سازی کنم
Schema ی دیتاست چیه دیگه؟
اگر دسته بندی کلاس ها و متدهای اونها مد نظرت هست که VS 2005 خودش این امکان رو از طریق گزینه ی View Class Designer (یک همچین چیزی) فراهم کرده.

موفق باشید.

ar_monti@
شنبه 15 دی 1386, 08:04 صبح
با تشکر از شما
من این برنامه رااجرا میکنم اما خطای زیر رامیدهد:
Cannot open database "GridView_DB" requested by the login. The login failed. Login failed نام سرور for user چه تغییری در کانکشن استرینگ بایستی بوجود آورم.
ممنون

Behrouz_Rad
شنبه 15 دی 1386, 17:02 عصر
پارامتر server رو برابر با نام server ات قرار بده.
کاربر ASPNET رو در SQL Server به لیست کاربران مجاز دسترسی به دیتابیس اضافه کن.

موفق باشید.

el_abdollahi
پنج شنبه 27 دی 1386, 12:32 عصر
سلام
میدونم جای این سوال توی تالار اس-کیو-ال هست . ولی میشه بگین توی اسکریپت مربوط به دیتابیس نسخه 2000 چه جوری داده ها رو هم insert میکردین ؟

Behrouz_Rad
پنج شنبه 27 دی 1386, 12:36 عصر
فایل Script تولید شده رو با Notepad باز کردم و با دستور INSERT مقداری داده ی پیش فرض رو در اسکریپت نوشتم.

موفق باشید.

ehsan_zanganeh
جمعه 28 دی 1386, 02:35 صبح
با سلام

با تشکر از زحمات شما

تمامی مثال ها بر این اساس بود که اطلاعات از پایگاه داده فراخوانی می شود .

می خواستم ببینم آیا می شه ما اطلاعات را به یک GridView بصورت سطری وارد کنیم و در نهایت اون GridView رو درون دیتابیس درج کنیم

Behrouz_Rad
جمعه 28 دی 1386, 09:22 صبح
با سلام

با تشکر از زحمات شما

تمامی مثال ها بر این اساس بود که اطلاعات از پایگاه داده فراخوانی می شود .

می خواستم ببینم آیا می شه ما اطلاعات را به یک GridView بصورت سطری وارد کنیم و در نهایت اون GridView رو درون دیتابیس درج کنیم
فکر می کنم اشتباه Reply کردی!
در حال حاضر هم همین کار انجام میشه!

maisam57
دوشنبه 13 اسفند 1386, 11:44 صبح
اقا من #c کار میکنم خواهش میکنم اگخ ممکنه بگید که چطوری از توابعش استفاده کنم

Behrouz_Rad
دوشنبه 13 اسفند 1386, 12:49 عصر
تابع نداره.
این فقط یک دمو هست که نشون میده به چه شکل می تونی اعمال مختلفی رو با GridView انجام بدی و ازشون ایده بگیرید.

موفق باشید.

yahya3004
دوشنبه 19 فروردین 1387, 08:27 صبح
واقعا دست شما درد نکنه. میشه منو یه راهنمائی کنی که من برای استفاده از Context menu شما به تنهائی چه کار باید انجام بدهم؟؟؟ البته اگه شما اجازه استفاده از اون رو می دهید

Behrouz_Rad
دوشنبه 19 فروردین 1387, 10:56 صبح
فایل Menu.js و Default.aspx رو بررسی کن. باید به جاوا اسکریپت مسلط باشی.
Comment های فایل js رو نباید حذف کنی.

موفق باشید.

mk88km
چهارشنبه 28 فروردین 1387, 10:40 صبح
با سلام
زمان اجرای برنامه به من پیغام میده که :
"An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)"
چه کار کنم؟

raravaice
چهارشنبه 28 فروردین 1387, 11:12 صبح
زمان اجرای برنامه به من پیغام میده


این مشکل ربطی به این برنامه نداره Connection String رو درست کن.

موفق باشید

m110_110
یک شنبه 01 اردیبهشت 1387, 15:15 عصر
با سلام و خسته نباشید
من برنامه هات رو گرفتم خیلی عالی بود
ولی متأسفانه از کد vb سر در نمی آورم
ممنون می شم اگر بتونی به کد سی شارپ هم بدی
ممنون

Behrouz_Rad
یک شنبه 01 اردیبهشت 1387, 22:25 عصر
ممنون میشم اگر از برنامه های مختلفی که برای تبدیل زبان های دات نتی به هم دیگه بارها و بارها در این سایت معرفی شده استفاده کنی.

Nasim_m
شنبه 14 اردیبهشت 1387, 15:07 عصر
با عرض سلام و خسته نباشید خدمت جناب راد
من می خواهم در برنامه ام قسمتی مانند جستجویی که برای گرید گذاشته اید قرار دهم
برای این کار SearchHighlight.js را به پروژه ام اضافه کردم
اما تنها زمانی که تکست باکس (txtSearch) خالی باشد پیغام خطا نمایش میدهد و در مواقع دیگر هیچ اتفاقی نمی افتد
آیا باید قسمت دیگری را هم به پروژه ام اضافه کنم یا تغییر خاصی لازم دارد؟
اگر یک کم توضیح در مورد این قسمت بدهید کلی دعای خیر پشت سرتان است.

sepideh_om
دوشنبه 16 اردیبهشت 1387, 09:40 صبح
سلام دست شما درد نکنه با این sample خیلی خوبتون
اما یک سوال دارم
همان طور که گفته بودید من namespace های صفحه ام رو به web.config اضافه کردم ولی اگر اونها رو از صفحه ام حذف کنم ایراد میگره تنظیم خاص دیگه ای نداره؟؟

dr_rezaaee
سه شنبه 17 اردیبهشت 1387, 10:01 صبح
ببخشین من اینو برای table خودم مورد استفاده قرار میدم اما موقعی که میخوام یک ستون بیشتر رو به نمایش بذارم با همون templatefield متاسفانه اون قسمت empty لود میشه !!! اشکال کار کجاست ؟ متشکر

hesam_a110
جمعه 27 اردیبهشت 1387, 14:13 عصر
درود بر شما
آقای راد من همه تاپیک را نتونستم بخونم ولی چیزس که در پست دوم گفته بودید طی تجربه ای که کردم این مورد در IE7 نیست و موردی نداره این یکی از تفاوت هایی است که بین IE6 , IE7 هست یه تفاوت دیگه توی این دو IE مورد استفاده آجاکس هستش که در موقع که یک DIV را تیره شدن بک گراند استفاده می کنیم و opacity را کم می کنیم در IE6 کم رنگ می شود ولی در IE7 خیر
پیروزو نیک باشید

Behrouz_Rad
سه شنبه 31 اردیبهشت 1387, 00:32 صبح
من می خواهم در برنامه ام قسمتی مانند جستجویی که برای گرید گذاشته اید قرار دهم
برای این کار SearchHighlight.js را به پروژه ام اضافه کردم
اما تنها زمانی که تکست باکس (txtSearch) خالی باشد پیغام خطا نمایش میدهد و در مواقع دیگر هیچ اتفاقی نمی افتد
آیا باید قسمت دیگری را هم به پروژه ام اضافه کنم یا تغییر خاصی لازم دارد؟

حقیقتاً توضیح اون همه کد جاوا اسکریپت از حوصله ی بنده خارج هست.
فقط به این نکته بسنده می کنم که متد highlightWord به صورت بازگشتی در المنت های GridView جستجو می کنه و اگر المنتی "متنی" پیدا کرد، متن اون رو با عبارت مورد جستجو مقایسه می کنه و در صورت برابر بودن، المنت اصلی رو حذف و المنت span ای ایجاد و اون رو در جای المنت قبلی قرار میده.
باید آشنایی در حد متوسط با جاوا اسکریپت داشته باشید.


همان طور که گفته بودید من namespace های صفحه ام رو به web.config اضافه کردم ولی اگر اونها رو از صفحه ام حذف کنم ایراد میگره تنظیم خاص دیگه ای نداره؟؟

خیر. تنظیم دیگه ای نداره.


من اینو برای table خودم مورد استفاده قرار میدم اما موقعی که میخوام یک ستون بیشتر رو به نمایش بذارم با همون templatefield متاسفانه اون قسمت empty لود میشه !!! اشکال کار کجاست ؟

متاسفانه بنده از علوم غیبه محروم هستم! :)

موفق باشید.

fallah_mojtaba
جمعه 03 خرداد 1387, 23:42 عصر
سلام
بعد از اجرای نسخه 4 برنامه خطای زیر در مرورگر به نمایش در می آید و خبری از کنترل نیست.
لطفا راهنمایی کنید..
.:: Common GridView Functions ::. by: Behrouz RadProcedure spBindGridView has no parameters and arguments were supplied.
ممنون از لطفتون

minahoseini
شنبه 04 خرداد 1387, 13:05 عصر
خیلی خیلی ممنون از کدهاتون .................. محشر بود ............

hana2064
دوشنبه 24 تیر 1387, 09:33 صبح
خیلی مطالب جالبی بود ممنون. میشه لطف کنین در مورد این خط توضیح بدین
Dim Cmd As New SqlCommand("spUpdateOrder", Cnn)
این spUpdateOrder برای چی تعریف شده ؟؟؟؟؟؟

Behrouz_Rad
دوشنبه 24 تیر 1387, 10:00 صبح
spUpdateOrder یک Stored Procedure است که دستورات T-SQL در اون نوشته میشن و در دیتابیس وجود داره.

موفق باشید.

hana2064
دوشنبه 24 تیر 1387, 10:24 صبح
ممنونم لطف کردین :لبخندساده:یه سوال دیگه هم دارم اگه لطف کنین جواب بدین ممنون می شم :
Param = Cmd.Parameters.Add("@organName", SqlDbType.NVarChar, 50)
SqlDbType.NVarChar, 50 میشه درموردش توضیح بدین ، اگه بخوام مقدا ر یک textbox داخل organName قرار بگیره چه کار باید کرد؟؟؟؟؟؟؟؟؟

Behrouz_Rad
دوشنبه 24 تیر 1387, 10:31 صبح
فیلد OrganName در جدول از نوع NVarChar تعریف شده. در نتیجه پارامتری که برای این فیلد هم در نظر گرفته میشه باید از نوع NVarChar باشه که این مورد با SqlDbType.NVarChar مشخص شده. همچنین حداکثر تعداد کاراکترهایی نیز که این فیلد می پذیره، 50 کاراکتر هست.
مقدار TextBox رو می تونی در خط بعد از دستور فوق، با Param.Value = TextBox1.Text به پارامتر پاس بدی.

موفق باشید.

saeid taheri
جمعه 28 تیر 1387, 18:45 عصر
شاهد نسخه ی ششم این پروژه هستید.

امکانات و اصلاحات این نسخه شامل:

1) ارتقای دیتابیس برنامه به SQL Server 2005
2) استفاده از معماری 3 لایه
3) اضافه کردن امکان مشاهده ی جزئیات به صورت Popup Menu با استفاده از AJAX
4) حل مشکل Export حروف فارسی در Office 2007
5) تغییر تابع Export برای تعیین رنج دلخواه Export رکوردها
6) استفاده از دو SP ی جدید با بهره گیری از امکانات جدید SQL Server 2005 برای Paging و حذف رکوردها
7) درج صحیح شماره ردیف برای صفحات بعدی و رکوردی که قرار هست ثبت بشه.
8) تصحیح نمایش تعداد رکوردها در Context Menu


دیتابیس برنامه به صورت فایل های mdf و ldf و با نام GridView_DB در پوشه ی App_Data قرار داره. دیتابیس رو در Attach، SQL Server 2005 کنید.

امکانات دیگه ای نیز به زودی به عنوان همین نسخه اضافه میشه.

موفق باشید.:لبخندساده:

سلام من وقتی برنامه رو اجرا می کنم با ایراد زیر مواجه می شوم چگونه می تونم برطرفش کنم


Cannot open database "GridView_DB" requested by the login. The login failed. Login failed for user 'HOME-B2E1234D14\ali'.

Behrouz_Rad
جمعه 28 تیر 1387, 20:41 عصر
کاربر HOME-B2E1234D14\ali رو در SQL Server به لیست کاربران مجاز استفاده از دیتابیس اضافه کنید.
بارها بحث شده.

موفق باشید.

fallah_mojtaba
سه شنبه 01 مرداد 1387, 01:10 صبح
سلام و ممنون به خاطر کد جالبتون
راستش وقتی من پروژه نسخه آخر را اجرا می کنم،با خطای زیر مواجه می شوم:
.:: Common GridView Functions ::. by: Behrouz Rad
Procedure spBindGridView has no parameters and arguments were supplied

و در مرورگر چیز دیگری مشاهده نمیشه.
لطفا راهنمایی کنید
file:///D:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.jpgfile:///D:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot-1.jpg

Behrouz_Rad
سه شنبه 01 مرداد 1387, 07:37 صبح
آیا دیتابیس صحیح رو Attach کردید؟

fallah_mojtaba
پنج شنبه 03 مرداد 1387, 09:17 صبح
آیا دیتابیس صحیح رو Attach کردید؟
با دوباره نصب کردن sql server و attach کردن فایل موفق به اجرا شدم.
ممنون از کد خوبتون
با اجازه شما می خواستم از این grid view در یک پروژه دانشگاهی استفاده کنم..

Behrouz_Rad
پنج شنبه 03 مرداد 1387, 13:03 عصر
با اجازه شما می خواستم از این grid view در یک پروژه دانشگاهی استفاده کنم..

مشکلی نیست اما اینجور نباشه که کل پروژه رو با نام خودت منتشر کنی! خبر رسید که یکی از دوستان در دانشگاه اصفهان یکی از مقالات بنده رو با کلی آب و تاب و بیان تحقیق 1 ماهه با نام خودش ارائه داده! ;)

fallah_mojtaba
دوشنبه 07 مرداد 1387, 10:28 صبح
سلام آقای راد
راستش من با تبدیل کد شما به سی شارپ با کدهای جاوا اسکریپت به مشکل برخوردم.مثلا
منو نمایش داده می شود ولی فرامین آن اجرا نمیشن ،یا منوی نمایش جزئیات، اطلاعات سطر رو نمایش نمی ده..
من فکر می کنم در raisecallback دچار مشکل هستش..
به نظر شما این کد در سی شارپ معادل کد شما در vb است..

void System.Web.UI.ICallbackEventHandler.RaiseCallbackE vent( string eventArgument)
{
if ((!string.IsNullOrEmpty(eventArgument))) {
:لبخندساده: strReturn = eventArgument;
GridViewFuncBehrouzRad.DAProject obj_DAProject = new GridViewFuncBehrouzRad.DAProject();
strFetchResult = obj_DAProject.GetOrderByID_AJAX_Format (Convert.ToInt32(strReturn));
}
}
string System.Web.UI.ICallbackEventHandler.GetCallbackRes ult()
{
return strFetchResult;
}
لطفا راهنمایی کنید.

fallah_mojtaba
پنج شنبه 10 مرداد 1387, 19:42 عصر
سلام
خسته نباشد
آقای راد در مورد ارسال شماره سطر ها به تابع جاوا اسکریپت که همون RowID هستش سوالی داشتم اینکه اگر چند تا از این grid view در یک فرم داشته باشیم،چطوری می شه RowID هر gridview را به تابع ارسال کرد.من از چند gridview شما در یک پروژه استفاده کردم و لی فقط اولی درست کار می کنه و تابع روی بقیه اصلا اجرا نمیشه..
لطفا راهنمایی کنید

fire_off
شنبه 19 مرداد 1387, 11:42 صبح
آقای راد از چه کدی استفاده کردی برای ایجاد مجوز دسترسی و اضافه کردن بانک در sql در کامپیوتر دیگر در ضمن آیا باید حتماً در آن کامپیوتر sql نصب باشه؟

من با c# کار میکنم

s.k711
یک شنبه 20 مرداد 1387, 17:33 عصر
سلام
چطوري مي شه شماره سطر DATA GRID را به دست آورد وقتي آن سطر را انتخاب مي كنيم.
vb.net 2005 & ASP.net 2

kezack
یک شنبه 10 شهریور 1387, 10:45 صبح
اقاي راد من كد شما رو به C# تبديل كردم ولي اين خطا رو مي ده :ناراحت:


Server Error in '/2' Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0106: The modifier 'public' is not valid for this item

Source Error:

[No relevant source lines]
Source File: Line: 0



Show Detailed Compiler Output:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc. exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServic es\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServ ices.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03 f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0 .0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5 c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2 .0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\ 2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b 77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Code.d9walzmn.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b7 7a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Security\2.0.0 .0__b03f5f7f11d50a3a\System.Security.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msco rlib.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0. 0__b03f5f7f11d50a3a\System.Drawing.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.dll" /D:DEBUG /debug+ /optimize- /win32res:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\0fx6x-tj.res" /w:4 /nowarn:1659;1699 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.0.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.1.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.2.cs"Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.c:\Documents and Settings\Taha\Desktop\New Folder (2)\2\Default.aspx.cs(630,17): error CS0106: The modifier 'public' is not valid for this itemc:\Documents and Settings\Taha\Desktop\New Folder (2)\2\Default.aspx.cs(641,19): error CS0106: The modifier 'public' is not valid for this item



Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
كد رو ضمينه كردم لطفا كمكم كنيد

mp2009
یک شنبه 10 شهریور 1387, 11:42 صبح
دوست عزیز اقای راد لطف کردن و خودشون نمونه این گریدویو رو با کد C# گزاشتن.
به چند پست قبل مراجعه کن

kezack
یک شنبه 10 شهریور 1387, 13:06 عصر
دوست عزیز من مطالب قبل رو نكاه كردم ولي هيجكدوم C# نبود

mehdisiavashian
یک شنبه 10 شهریور 1387, 21:36 عصر
دوست عزیز اقای راد لطف کردن و خودشون نمونه این گریدویو رو با کد C# گزاشتن.
به چند پست قبل مراجعه کن
سلام اگه ميشه لطف كنيد بگيد توي كدوم پست؟ كدم صفحه؟ واقعا حيفه كد به اين زيبايي معادل سي شارپش نباشه!! :بامزه:
ممنون از همه دوستان كه سخاوتمندانه كد هاي زيباشون رو اينجا مي گذارند.

Behrouz_Rad
یک شنبه 10 شهریور 1387, 21:59 عصر
نمونه ی #C نداره. دات نت دات نته. کسی که با دات نت کار می کنه نوع زبان واسش فرقی نمی کنه.

موفق باشید.

mp2009
چهارشنبه 13 شهریور 1387, 14:29 عصر
جناب راد شما مطمعني كه نداره؟
اخه من خودم چند وقت پيش تو همين سايت پيدا كردم . حالا دوباره ميگردم اگه پيدا كردم ميزارمش.
راستي دوستان اگه ميخواهيد خودتون همه كد ها رو به C# تبديل كنيد ميتونيد از لينك دورن امضاي من استفاده كنيد.
موفق باشيد

kezack
چهارشنبه 13 شهریور 1387, 14:50 عصر
من از این لینک استفاده کردم ولی یک خطا داد که در بالا عنوان کردم

Server Error in '/2' Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0106: The modifier 'public' is not valid for this item

Source Error:

[No relevant source lines]
Source File: Line: 0



Show Detailed Compiler Output:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc. exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServic es\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServ ices.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03 f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0 .0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5 c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2 .0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\ 2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b 77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Code.d9walzmn.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b7 7a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Security\2.0.0 .0__b03f5f7f11d50a3a\System.Security.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msco rlib.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0. 0__b03f5f7f11d50a3a\System.Drawing.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.dll" /D:DEBUG /debug+ /optimize- /win32res:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\0fx6x-tj.res" /w:4 /nowarn:1659;1699 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.0.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.1.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET Files\2\a696d814\6d41858e\App_Web_default.aspx.cdc ab7d2.vlpouvd-.2.cs"Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.c:\Documents and Settings\Taha\Desktop\New Folder (2)\2\Default.aspx.cs(630,17): error CS0106: The modifier 'public' is not valid for this itemc:\Documents and Settings\Taha\Desktop\New Folder (2)\2\Default.aspx.cs(641,19): error CS0106: The modifier 'public' is not valid for this item



Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
و کد مورد نظر را هم گذاشتم

Behrouz_Rad
پنج شنبه 21 شهریور 1387, 20:07 عصر
روال RowCreated رو ببین.

htmbarnamenevisl
شنبه 23 شهریور 1387, 06:32 صبح
میشه اینایی که اینجاست با c# بنویسید تا ما که vb بلد نیستیم هم بتونیم ازش استفاده کنیم

Behrouz_Rad
شنبه 23 شهریور 1387, 14:05 عصر
نه نمیشه. چون ابزارهای زیادی برای تبدیل کدهای دات نت به هم وجود داره که می تونی از همونها استفاده کنی.

samaram
دوشنبه 08 مهر 1387, 20:24 عصر
سلام جناب راد. من وقتي مي خوام ديتابيسشو نصب كنم اين پيامو ميده. اسكرين شات زير رو ببينيد:
http://i35.tinypic.com/5miwy0.jpg
ميشه بفرماييد بايد چيكار كنم؟
(اگه طبق پيام يه كليد رو بزنم باز هم اتفاقي نمي افته. در ضمن sql server2000 دارم.)

Behrouz_Rad
دوشنبه 08 مهر 1387, 20:39 عصر
احتمالاً ASP.NET به درستی روی سیستمت پیکربندی نشده.
فایل sql رو مستقیماً در Query Analyzer اجرا کن و به کاربر ASPNET مجوز دسترسی به دیتابیس رو بده.
در ضمن، از نسخه ی آخر استفاده کن تا این مشکلات رو نداشته باشی. در نسخه ی آخر، فایل mdf و ldf در پوشه ی App_Data وجود دارند که باید اونها رو در Management Studio اتچ کنی.

موفق باشید.

Saber_Fatholahi
چهارشنبه 17 مهر 1387, 09:58 صبح
آقای راد شما یه جایی گرید ویو اکسپورت کردین به اکسل امااین روش استاندارد نیست نمیشه اونو ازطریق برنامه دیگه ای خوند این فایل توی اکسل نشون دادهمی شه اما مثلا بخوایم از طریق یه برنامه ای محتویات این فایل بخونیم خطا می ده لطفا بررسی کنین

Behrouz_Rad
چهارشنبه 17 مهر 1387, 10:44 صبح
فقط از طریق Excel میشه خوندش. برای ایجاد خروجی منطبق با فرمت Excel باید از PIA استفاده بشه. Component Art هم کامپوننتی بدین منظور داره... این روش، خروجی HTML تولید می کنه. بیشتر هدف آشنایی با تکنیک هاست.

موفق باشید.

Behrouz_Rad
سه شنبه 27 اسفند 1387, 08:22 صبح
شاهد نسخه ی 7 این پروژه هستید.

دات نت در هر نسخه از خودش، شاهد افزوده شدن امکانات بی شماریه که کد نویسی رو تسهیل تر می کنند.

3.0 C#‎‎ و VB.NET 9.0 که همراه با VS.NET 2008 معرفی شدند، قابلیت های جدیدی رو معرفی کردند که به سختی میشه از اونها چشم پوشی کرد.
هر چند که همیشه سعی بر این بوده که هم C#‎‎ و هم VB.NET پا به پای هم پیش برن و عدم پشتیبانی از قابلیتی در یکی از این زبان ها، با تعبیه ی قابلیتی منحصر به فرد در زبان مقابل جبران بشه، اما با معرفی Net Framework 3.5.، این C#‎‎ بود که پشتیبانی به نسبت کاملتری از قابلیت هایی که مربوط به کدهای برنامه نویسی میشن داشت. Lambda Statements (و نه Lambda Expressions) و Automatic Properties و Array Literals از جمله قابلیت هایی هستند که در VB.NET 9.0 پشتیبانی نمیشن. خبر خوب اینکه VB.NET در نسخه ی 10.0 خودش تمامی قابلیت های جاری C#‎‎ رو پشتیبانی خواهد کرد.

سعی من بر این بوده که در این پروژه از این امکانات استفاده کنم. هر چند که این استفاده، کم، و هدف، بیشتر، نمایش نحوه ی استفاده از قابلیت ها بوده. به همین دلیل و از آنجا که بر طبق رسمی نانوشته، مقالات و کدها در سرتاسر وب اکثراً با استفاده از C#‎‎ منتشر می شوند، با عرض پوزش از دوست داران VB.NET و ابزار ارادت ویژه به این قشر و سپاس از تمامی دوستانی که تا نسخه ی 6 این برنامه با VB.NET همراه شدند، نسخه ی 7 این پروژه را با C#‎‎ نوشتم.

توضیح ویژه در مورد تغییرات در این نسخه:
روش ها، الگوها و معماری های مختلفی برای پیاده سازی یک پروژه وجود دارند.
یکی از روش هایی که مورد استقبال عموم واقع شده و بیشترین فراگیری و محبوبیت رو داره، معماری چند لایه (n-Tier) است که امروزه زیاد در مورد اون می شنوید.
معماری چند لایه در ساده ترین حالت خودش حداقل از سه لایه پشتیبانی می کنه. این سه لایه شامل BLL، DAL و PL هستند.
هیچگاه نمی توان قانون و سبک مشخصی برای پیاده سازی این نوع معماری ارائه داد. افراد مختلف نسبت به تجربه، توانایی ها و درک خود از این نوع معماری، پیاده سازی های متفاوتی را ارائه می دهند.
درک صحیح این نوع معماری همراه با تسلط بر مفاهیم شی گرایی و صد البته آشنایی و درک مفاهیمی از دات نت که می توان از آنها برای پیاده سازی این نوع معماری کمک گرفت، می تواند به ایجاد نمونه ای عالی از یک پروژه ی چند لایه کمک شایانی کند.

نحوه ی پیاده سازی مناسب این نوع معماری نیز از جمله دغدغه های من بوده. با مطالعه ی پروژه ها و کدهای مختلف برای پیاده سازی این سبک و برگزیدن بهترین اونها و ایده گرفتن از آن و بسط اون با آنچه که در ذهنم بود، در نهایت به نوعی از پیاده سازی رسیدم که در این پروژه شاهد آن خواهید بود.

در این پروژه:
- قابلیت جدیدی اضافه نشده بلکه هدف تغییر کامل DAL و BLL و بازنویسی مجدد آنها از ابتدا با توجه به این سبک از معماری بوده.
- دیتابیس برنامه از پوشه ی App_Data خوانده می شود و نیاز به Attach کردن آن در SQL Server نیست.
- باگی نیز در هنگام ویرایش سطر وجود داشت که باعث میشد مقدار DropDownList "قطعه" و "زیر قطعه" از بین برود که در این نسخه برطرف شده است.
- تا حد امکان از استانداردهای کد نویسی دات نت پیروی کردم.

امیدوارم که این پروژه بتونه اکثر سوالاتی که در مورد "نحوه ی پیاده سازی معماری چند لایه" و در کل هر نوع سوالی که مربوط به اعمال DML پایگاه داده است رو پاسخگو باشه.

به دلیل حضور کمتر بنده از 6 فروردین، پاسخگویی به سوالات دوستان ممکنه با تاخیر صورت بگیره.

با عرض پوزش از دوستانی که در سمینار C#‎‎ و LINQ شرکت کردند به خاطر تاخیر در انتشار این پروژه، این پروژه را به عنوان عیدی از بنده قبول بفرمایید :)

به منظور انسجام تاپیک، از پرسیدن سوالات کلی، ارسال آف تاپیک و پیام های تشکر آمیز خودداری و صرفاً به دکمه ی تشکر اکتفا
بفرمایید.

با آرزوی سالی توأم با موفقیت و شادکامی برای تمامی مردم ایران زمین.:لبخندساده:

آپدیت در تاریخ 1/16/89:
بر طرف کردن باگ در هنگام حذف رکورد >>> تولید نسخه ی 7.1
تعداد دانلود نسخه ی 7.0: 2876

saeed razaee
چهارشنبه 28 اسفند 1387, 11:28 صبح
با سلام
اي كاش دوستان اين پروژه را با عنوان يك مقاله به صورت تئوري از شروع تا پايان توضيح مي دادند تا هم با معماري چند لايه خوب آشنا شويم و هم اينكه عيدي سال 88 محسوب شود.

Behrouz_Rad
چهارشنبه 28 اسفند 1387, 12:34 عصر
اي كاش دوستان اين پروژه را با عنوان يك مقاله به صورت تئوري از شروع تا پايان توضيح مي دادند تا هم با معماري چند لايه خوب آشنا شويم

گفتنش راحته اما به دست آوردن وقتش راحت نیست ;)



هم اينكه عيدي سال 88 محسوب شود.

برای عیدی گرفتن، شرط تعیین نمی کنند :)

موفق باشید.

salehbagheri
جمعه 14 فروردین 1388, 16:57 عصر
سلام!

با تشكر از زحمات شما!

ميخواستم بگم كه بخش Delete مربوط به GridView كار نميكنه و در قسمت زير خطا ميده!



public static bool DeleteOrder(string orderIds, char sep)
{
string regEx = @"^\d+(" + sep + @"\d+)*$";
if (!Regex.IsMatch(orderIds, regEx)) ///two var is'nt match!
{
throw new Format Exception("Invalid format! the format must be: n,n,...");
}
bool isDeleted = SiteProvider.Orders.DeleteOrder(orderIds, sep);
return isDeleted;
}


متأسفانه از RegEx هم سر در نياوردم تا خودم درستش كنم!

با تشكر!

m-ezati
جمعه 04 اردیبهشت 1388, 18:00 عصر
من هنوز اینو تست نکردم ولی از ظواهر مشخصه که شما تلاش خوبی کردید
و لایق تشکر هستید
با تشکر فراوان

siamak.tabrizi
شنبه 05 اردیبهشت 1388, 16:32 عصر
با تشکر فراوان از شما
اگه بخواهیم به این گرید اکسپورت فایل PDF رو هم اضافه کنیم تغییرات خاصی در کد HTML آن باید بدهیم؟
بنده با تغییر نوع فایل و Content به نتیجه نرسیدم.
موفق باشید

niksoft
یک شنبه 06 اردیبهشت 1388, 11:02 صبح
با سلام خدمت جناب آقای راد
من از نسخه 4 به بعد هنگام Build کردن برنامه خطای ذیل را دریافت میکنم


it is an error to use a section registered as allowDefinition = 'MachineToApplication' beyond application level.
This error can be caused by a virtual deirectory not being configured as as application in IIS



این خطا در فایل web.config است که مربوط به کد

<authentication mode="Windows"/> است

ممنون میشم راهنمایی کنید..

Behrouz_Rad
یک شنبه 06 اردیبهشت 1388, 15:55 عصر
salehbagheri@
با چه خطایی مواجه میشی؟ FormatException؟ قسمت حذف برای من به خوبی کار می کنه.

niksoft@
این خطا مربوط به برنامه نمیشه. دلایل مختلفی داره. برای دلایلش در گوگل جستجو کن.

موفق باشید.

salehbagheri
یک شنبه 06 اردیبهشت 1388, 18:51 عصر
سلام بهروزجان!
مدتي مديدي بود كه حضورتان را حس نمي كردم!

مشكل خاصي وجود نداره! فقط اينكه دو مقدار با هم Match نيستند! و چون با هم Match نيستند دستور If اجرا ميشه و خطاي مورد نظر در بالاي صفحه ظاهر ميشه!

saman_husseini
یک شنبه 13 اردیبهشت 1388, 10:19 صبح
ببخشید من نمی تونستم از لینکی که دادید برنامه دانلود کنم و خیلی هم احتیاج به این پروژه شما دارم . لطفا کمک کنید

raziee
پنج شنبه 24 اردیبهشت 1388, 22:15 عصر
نسخه ی نمایشی این پروژه در لینک زیر قابل دسترسی است.

http://GridView.CodePro.ir



با سلام .
جناب راد این لینک در مرورگر من اجرا نمیشه.
اگر اشکال در لینک هست لطف بفرمایید اصلاح کنید.

shahab2005
جمعه 25 اردیبهشت 1388, 18:23 عصر
از کار زیباتون تشکر می کنم
من چند ماه پیش از این پیام کارتون دیده بودم و یکم روش کار کردم
جدا از همه ی خوبی هاش فکر کنم کد js جستجو یکم مشکل داره چون بعضی موقع ها بعد از چند کلیک متن رو پاک می کنه.
من از اون می خواستم برای جستجوی متن صفحه استفاده کنم که با عوض کردن id درست می شه ولی اگه شما یا یکی از دوستان لطف کنه این کد js رو اصلاح کنه خوب می شه :چشمک:

Hossis
پنج شنبه 11 تیر 1388, 14:43 عصر
شاهد نسخه ی 7 این پروژه هستید.:لبخندساده:
با سلام و تشکر
می خواستم بگم چرا این قدر طول می‌دید همون اول نسخه 20 رو بدید بیرون همه استفاده کنند :چشمک::بامزه::قهقهه:
این پروژه خیلی خوبی بود و دقیقا همون چیزی هست که من مدتها دنبالش بودم.
زحمت این کار باشما بوده و راحتی دنلود و استفاده اش با ما لذا باز هم ممنون و متشکریم!!:اشتباه::تشویق:

minamorsali
چهارشنبه 21 مرداد 1388, 10:16 صبح
سلام
اولا با تشکر از برنامه خیلی خوبتون.
می بخشید من برنامه رو که می خوام اجرا کنم، بهم ارور child nodes not allowed میده. ظاهرا ارور مربوط به فایل web.configاست. به این خطش گیر میده:
<providerOption name="CompilerVersion" value="v3.5"/>
مشکل چیه؟ لطفا راهنماییم کنید.

Behrouz_Rad
چهارشنبه 21 مرداد 1388, 12:17 عصر
نسخه ی آخر در VS 2008 نوشته شده و بدون مشکل در اون محیط اجرا میشه.

minamorsali
جمعه 23 مرداد 1388, 09:33 صبح
نسخه ی آخر در VS 2008 نوشته شده و بدون مشکل در اون محیط اجرا میشه.
سلام
من اشتباها در محیط 2005اجرا می کردم. ممنون از راهنماییتون

behnam-s
جمعه 23 مرداد 1388, 15:27 عصر
سلام

نسخه ی نمایشی این پروژه در لینک زیر قابل دسترسی است.

http://GridView.CodePro.ir (http://gridview.codepro.ir/)

سایت درست بالا نمیاد. Error زیر رو میده

Could not find stored procedure 'spGetOrders'.

Behrouz_Rad
جمعه 23 مرداد 1388, 15:59 عصر
پس از ارتقاء سخت افزاری هاست، دیتابیس ها از بین رفتند. اگر حس و حالش بود، مجدداً آپلود می کنم.

h.alizadeh
شنبه 24 مرداد 1388, 16:30 عصر
سلام،


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[spDeleteOrder]
(
@IDs nvarchar(4000),
@Sep nchar(1)
)
AS
DELETE FROM tblOrders WHERE intID IN(SELECT nstr FROM dbo.iter_charlist_to_tbl(@IDs,@Sep))





در پروژه6:
ميشه بگيد منظورتون ازiter_charlist_to_tbl(@IDs,@Sep) چيه؟ اين جدول از كجاس؟
يعني اينطوري ما چند سطر روباهم مي تونيم پاك كنيم؟
(@IDs,@Sep) اينا براي چيند؟
-----

Public Class BLProject


Inherits DAProject
در BLProject اگه اينطوري انجام مي داديم اشكالي نداشت؟چرا شما اينطوري نكرديد؟
-----
منظورتون ازين چيه؟
Implements ICallbackEventHandler
در صفحه ي Default.aspx.vb

ممنون

Borland-Delphi7
شنبه 31 مرداد 1388, 21:18 عصر
آقا دستت درد نکنه اگر تونستی یه نسخه C# 2005 از این پروژت بزار

shocraneh
دوشنبه 02 شهریور 1388, 10:12 صبح
با تشکر میشه بگین چه جوری فایل batch رو درست کنم

shocraneh
پنج شنبه 05 شهریور 1388, 22:35 عصر
شرمنده من این برنامه رو دانلود کردم و اجرا شد و بعد نسخه بالاتر اونو دانلود کردم و چون مسیر یکی بود رو همون پوشه اعمال
تغییرات کرد و حالا اصلا فایل اجرایی دات نت رو نداره که بخاد اجرا شه . حتی دوباره هر دو نسخه رو جداگانه دانلود کردم با کمال تعجب همون
نسخه اولم دیگه فایل اجرایی نداشت والا موندم چی کار کنم منظورم همون فایلیه که آرم ویژوال استریو رو داره حالا نمی شه
جداکانه همون فایلی بزارید تا من تو مسیر کپی کنم
:متفکر::متفکر:

h.alizadeh
جمعه 06 شهریور 1388, 04:08 صبح
شرمنده من این برنامه رو دانلود کردم و اجرا شد و بعد نسخه بالاتر اونو دانلود کردم و چون مسیر یکی بود رو همون پوشه اعمال
تغییرات کرد و حالا اصلا فایل اجرایی دات نت رو نداره که بخاد اجرا شه . حتی دوباره هر دو نسخه رو جداگانه دانلود کردم با کمال تعجب همون
نسخه اولم دیگه فایل اجرایی نداشت والا موندم چی کار کنم منظورم همون فایلیه که آرم ویژوال استریو رو داره حالا نمی شه
جداکانه همون فایلی بزارید تا من تو مسیر کپی کنم

خب پروژه ها رو در دو مسير متفاوت بريز و براي باز كردنشون از منوي فايل open web site برو و بعدروي پوشه ي پروژه مربوطه كليك كن و openبزن.

بانك نسخه هاي مختلف پروژه شون هم با هم فرق مي كنه (تقريباً) براي هر پروژه از بانك مربوط بههمون پروژه استفاده كن.

(ببخشيد من پريدم اينجا!)

mmnoody2006
سه شنبه 10 شهریور 1388, 21:12 عصر
سلام
با اجازه آقابهروز
راستش فکر کنم 95 درصد کسانی که این برنامه رو دانلود می کنن
هیچ استفاده ای ازش نمی کنن

و این فقط یه نمایش قدرته

بنابراین من به فکر ساده سازی این برنامه افتادم
امیدوارم افراد بیشتری بتونن از این برنامه واقعا
خوب استفاده کنن

این برنامه فقط حالت خذف تکی و گروهی + صفحه بندی رو داره
که می تونید کم کم با امکانات دیگر هم بیشتر آشنا بشید

(نسخه 6)

rezaei manesh
پنج شنبه 12 شهریور 1388, 17:48 عصر
سلام
با اجازه آقابهروز
راستش فکر کنم 95 درصد کسانی که این برنامه رو دانلود می کنن
هیچ استفاده ای ازش نمی کنن
و این فقط یه نمایش قدرته

بنابراین من به فکر ساده سازی این برنامه افتادم



آقا فکر کنم که حرفت بیشتر شبیه جک بود
حقیقتش کلی خندیدم
دوست عزیز
1.آقای راد نیازی به نمایش قدرت نداره
2. من بعد از گرفتن نسخه اول در همون روزهای اول از اون ایده گرفته و تمام برنامه هام رو با اون بیس در آوردم و بعد از اومدن نسخه های جدید (sql2005) پروسیجر های مربوطه رو بهینه کردم و... و کلی در کارم جلو اوفتادم که مدیون آقای راد هستم
3.دیگر این طور با کسی که نتیجه کارش رو برای عموم می زاره صحبت نکن

danijoon
شنبه 14 شهریور 1388, 01:51 صبح
مرسی از راهنمایی هاتون

h.alizadeh
یک شنبه 15 شهریور 1388, 06:33 صبح
بنابراین من به فکر ساده سازی این برنامه افتادم
امیدوارم افراد بیشتری بتونن از این برنامه واقعا
خوب استفاده کنن

سلام،
فکر خوبیه...
:متفکر:
البته تشکر از آقای راد ولی اگه یکی بیاد که وقت بیشتری داره وساده سازی کنه می تونه واسه افراد بیشتری مفید باشه.

مخصوصاً پروژه آخری رو :لبخند:

میشه آموزش هم با داکیومنت :لبخندساده:

mmnoody2006
جمعه 17 مهر 1388, 18:01 عصر
1-از اونجایی که viewstate مقدار فضای زیادی رو اشغال می کنه می تونم بجاش
از session استفاده کنم؟؟؟؟؟
2-آیا این مشکلی رو بوجود میاره؟؟؟؟

Behrouz_Rad
جمعه 17 مهر 1388, 21:14 عصر
mmnoody2006@
در کدام قسمت این پروژه مد نظرته؟

iman_ad
جمعه 17 مهر 1388, 22:51 عصر
viewstate از session خیلی بهتره مخصوصا روی این هاستینگایی که هزارتا بامبول داران.
viewstate کمی حجم صفحه فقط زیاد می کنه و برای سرورهای غیر اختصاص مناسب به نظر می رسه

Behrouz_Rad
شنبه 18 مهر 1388, 06:33 صبح
viewstate از session خیلی بهتره مخصوصا روی این هاستینگایی که هزارتا بامبول داران.
viewstate کمی حجم صفحه فقط زیاد می کنه و برای سرورهای غیر اختصاص مناسب به نظر می رسه

ViewState فقط در صفحه ی جاری قابل دسترس هست اما Session در تمامی صفحات. بستگی به سناریوی شما داره که چه موقع از چه چیزی استفاده کنید.

موفق باشید.

iman_ad
شنبه 18 مهر 1388, 13:37 عصر
این می دونم مهندس جان ولی این هاستینگا نمی دونم چیکار می کنن session هر چقدر هم که lifetime تعریف کنی چند دقیقه بعد از بین می ره، خودشونو راحت کردن البته بستگی به جایی داره که ازش هاست می گیری، نکه اینکه روش ذخیره session تغییر بدی مثلا روی database ذخیره کنی،شما اگه راه حلی برای این مشکل داری لطفا بگو استفاده کنیم، ممنون

Behrouz_Rad
شنبه 18 مهر 1388, 19:04 عصر
هاست ها چون از فایروال و آنتی ویروس استفاده می کنند، موجب میشه که Session های شما null بشه. پیکربندی صحیح آنتی ویروس مانع از null شدن Session ها میشه.

من تا حالا پیش نیومده که از Session استفاده کنم... معماری برنامه رو تغییر بدید.

موفق باشید.

mmnoody2006
شنبه 18 مهر 1388, 20:22 عصر
من فقط برای همون قسمت صفحه بندی مربوط به gridview منظورم بود

Behrouz_Rad
یک شنبه 19 مهر 1388, 07:56 صبح
من فقط برای همون قسمت صفحه بندی مربوط به gridview منظورم بود

بله می تونید استفاده کنید اما اصلاً صحیح نیست. به این دلیل که هاست ها اکثراً با Session مشکل دارند و دوم اینکه بار اضافی به سرور تحمیل می کنید. کلاینت رو تنبل بار نیارید و قسمتی از داده ها رو در سمت کلاینت دخیره کنید. ViewState به همین منظوراستفاده میشه. حجم اندیس صفحه اصلاً محسوس نیست که نگهداریش در ViewState موجب افزایش غیر طبیعی حجم صفحه بشه.

موفق باشید.

mononok
پنج شنبه 23 مهر 1388, 22:07 عصر
سلام دوستان برنامه نويس

من يه چيزي بگم؟؟؟:لبخندساده:

فقط به بي سوادي من نخنديد من مبتديم ميشه يكي به من بگه اين برنامه ها رو چطور باز كنم؟:خجالت:

از همون برنامه اول دچار مشكل هستم!
لطفا به زبون ساده بگيد تا بتونم بازشون كنم!:خجالت:

atryad
شنبه 25 مهر 1388, 13:15 عصر
با سلام
خوب ابتدا باید برنامه رو از حالت فشرده خارج کنی یعنی رو فایل دریافتی کلیک راست و گزینه Extract... (بسته به نوع برنامه فشرده سازی که داری ممکن هست این گزینه فرق کند) رو انتخاب کنید تا پوشه حاوی این برنامه ساخته بشه .
حالا برنامه ویژوال استودیو رو باز کن
از منوی فایل گزینه open و از زیر منوها گزینه website.. رو انتخاب کن .
حالا پوشه حاوی برنامه رو انتخاب کن تا پروژه باز بشه و .....
با تشکر

mononok
شنبه 25 مهر 1388, 19:22 عصر
ممنون خيلي جامع بود به خصوص قسمت خارج كردن از فشرده سازي:لبخندساده:

نه ببخشيد من بد مطرح كردم
شما برنامه اولي كه گذاشته شده نگاه بكن وقتي run مي كنم از قسمت كدهاي پايگاهش ايراد مي گيره فايل "SetupDataBase.bat" درست اجرا نمي شه چون قراره اون پايگاهشو تو سيستمم قرار بده قرار نيست كه من پايگاه بسازم و كدهارو تغيير بدم!

خواستم بدونم سايرين چطور اجراش كردن؟
ممنون از راهنماييتون:لبخندساده:

mmnoody2006
شنبه 25 مهر 1388, 21:27 عصر
داداشی باید فایل های اسکریپت sql رو نصب کنی اول باید sql server داشته باشی داری ؟
بهتره ورژن های بعدی که فایل رو داره دانلود کنی بهتره :لبخند:
ورژن 6 خوبه نمونه ساده شده رو هم گذاشتم

mononok
یک شنبه 26 مهر 1388, 10:21 صبح
داداشی باید فایل های اسکریپت sql رو نصب کنی اول باید sql server داشته باشی داری ؟

سلام

من sql server 2005 رو دارم ولي با قسمت پايگاه برنامه ها مشكل دارم منظورتون از اسكريپت sql چيه؟ اين فايل GridView_Setup_Database كه تو برنامه اول هست بايد چطوري به سرورم attach كنم؟
اينو نمي دونم چطوري بايد باز كنم!

فكر كنم برنامه شما رو هم دريافت كردم اما باز گير كرد ! ميشه همين برنامه اولو بگيد خودتون چطور اجراش كرديد؟ sql من مشكلي نداره چون در حال حاضرم دارم باهاش كار مي كنم پس چرا اين برنامه هاراحت باز نمي شن؟

unbounded
سه شنبه 17 آذر 1388, 10:11 صبح
ضمن تشكر از زحمتتون من شنيدم اين كنترل خيلي سنگينه و سايت مهم كمتر ازش استفاده مي كنن و بيشتر از Repeater استفاده مي كنن! آيا اين موضوع صحت داره؟

Behrouz_Rad
چهارشنبه 18 آذر 1388, 10:34 صبح
ضمن تشكر از زحمتتون من شنيدم اين كنترل خيلي سنگينه و سايت مهم كمتر ازش استفاده مي كنن و بيشتر از Repeater استفاده مي كنن! آيا اين موضوع صحت داره؟
اگر فقط قصد نمایش داده ها رو دارید از Repeater استفاده کنید و اگر نیاز به اعمال بیشتر مثل اضافه کردن و ویرایش درجا و مرتب سازی رو دارید از GridView استفاده کنید.

موفق باشید.

shocraneh
پنج شنبه 10 دی 1388, 10:09 صبح
با سلام .
راستش سوالی که می خام بپرسم با توجه به تلاشی که شما در این ضمینه برای ارتقای سطح علمی اعضای سایت نشان دادید برای خودم مسلم است ،اما یکی از دوستان مصر است که قضیه پیجینگ در گرید بدون استفاده از ROW_NUMBER() و اسکیوال به شیوه بهینه (در هر صفحه همون تعداد رکوردی رو از پایگاه استخراج کنی که نمایش داده میشه )قابل انجام است .
Protected Sub GridView2_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView2.PageIndexChanging

GridView2.PageIndex = e.NewPageIndex
BindGridView2()
End Sub
برای همین بهتر دیدم سوالم رو مطرح کنم ،آیا این روش مزیت همیشگی دارد یانه ؟البته من از آخرین ورژنی که با ویبی ارائه دادید استفاده کردم


من یه مشکل هم با پروسیجر دارم و اون اینه که برای جستجوی مقدار به عنوان همه موارد از کارکتر درصد استفاده کردم ،راستش بار اولی که انجامش دارم درست نتیجه گرفتم اما بعد از کامل کردن کار دیگه جواب نمی ده . البته دیدم رو نسخه آخری گویا پروسیجری در کار نیست ؟! لابد مشکلاتی برای استفادش وجود داره یا ...؟؟البته اینم شنیدم که میشه پروسیجر روداخل خود ویژوال نوشت . شاید!!! ... اطلاعات کافی در این زمینه هم متاسفانه ندارم بهتره خیلی وقتتونو نگیرم
به هر حال آیا تو ورژن آخر راه حلی برای این نوع جستجو وجود داره ؟؟

یه تقاضای : من از آخرین نسخه سر در نیوردم حتی این که به شکل روش کار کردید .اگه مشابه ویبی کار رو حتی اگه ناقص باشه ، رو سیستمتون دارید خواهشا بزاریدیا
اگه لینکی هست که اصول کار با لیست رو توضیح داده باشه . ممنون
ببخشید طولانی شد . باعرض معذرت عجله دارم

Behrouz_Rad
پنج شنبه 10 دی 1388, 11:11 صبح
به من کدی نشون ندادی که بخوام در موردش نظر بدم که بدون استفاده از ROW_NUMBER به چه شکل عمل می کنه. اون 2 خط کد چیز خاصی رو مشخص نمی کنه. کد بازیابی رو قرار بده. ROW_NUMBER در SQL Server 2005 اضافه شده. در 2000 از temp table استفاده میشد. کدها رو قرار بده تا نظرم رو بگم.


تو ورژن آخر راه حلی برای این نوع جستجو وجود داره ؟؟

در این پروژه فقط یک نوع جستجو وجود داره و اون هم جستجوی درجا در صفحه با استفاده از جاوا اسکریپت هست. SELECT ای برای جستجو وجود نداره.


من از آخرین نسخه سر در نیوردم حتی این که به شکل روش کار کردید .اگه مشابه ویبی کار رو حتی اگه ناقص باشه ، رو سیستمتون دارید خواهشا بزارید

نسحه ی 7 رو از ابتدا با C#‎ نوشتم و نسخه ی VB.NET نداره. با کمی تلاش یاد می گیرید.

موفق باشید.

shocraneh
پنج شنبه 10 دی 1388, 11:54 صبح
روی 2005 منظور من بود . کد خاصی نداره ، علاوه بر کد بالا

Public Sub BindGridView2()

Dim obj As New BLLproject
Dim ds As DataSet = obj.PopulateGridView1

GridView2.DataSource = ds.Tables(0)
GridView2.DataBind()
End Sub
در ادامه تابع از پروسیجری استفاده کرده که یه سلکت معمولی داره
SELECT * FROM Table1 where .....
داره
اینم توضیح مشکلم با گزینه انتخاب تمام موارد (توضیح : وقتی برای جستجو یکی از گزینه ها رو انتخاب می کنم و خط به خط اجرا می کنم بعد از کد مربوط به بایند گرید وارد محیط design شده و TemplateField ها رو مقدار دهی می کند . اما اگه گزینه همه موارد رو انتخاب کنم
Dim pricemin1 As String = PriceMin.Text
If pricemin1 = "" Then
pricemin1 = DBNull.Value.ToString
End If
در پروسیجر
if (@PriceMin1 is null)
set @PriceMin1 = '%'


با وجودی که ds مقدار می گیره و گرید بایند میشه دیگه وارد design نمی شه و خوب خروجی هم نمی زنه؟؟؟

راستش منظورتون رو از جستجوی در جا متوجه نشدم ؟؟

Behrouz_Rad
پنج شنبه 10 دی 1388, 12:17 عصر
اوکی. دوستت اشتباه می کنه. کدهایی که نوشتی تمامی داده ها رو لود می کنه و GridView نسبت به صفحه ی جاری خودش محدوده ی مورد نظر رو استخراج می کنه.

سوال دومت ارتباطی با موضوع تاپیک نداره.

موفق باشید.

jingiliboyz
پنج شنبه 01 بهمن 1388, 09:19 صبح
من کاری رو که شما گفتید کردم ولی وقتی خواست صفحه بالا بیاد با این مشکل روبرو شد که عکسش رو گذاشتم ببینید جالب اینجاست که error هم نمیده

nPad.Net
چهارشنبه 19 اسفند 1388, 14:21 عصر
با تشكر از زحمات شما!

ميخواستم بگم كه بخش Delete مربوط به GridView كار نميكنه و در قسمت زير خطا ميده!



public static bool DeleteOrder(string orderIds, char sep)
{
string regEx = @"^\d+(" + sep + @"\d+)*$";
if (!Regex.IsMatch(orderIds, regEx)) ///two var is'nt match!
{
throw new Format Exception("Invalid format! the format must be: n,n,...");
}
bool isDeleted = SiteProvider.Orders.DeleteOrder(orderIds, sep);
return isDeleted;
}



regEx چیه و چرا باید با orderIds مچ باشه! چند تا سوال رو درمورد بخش Delete دیدم که به نتیجه نرسیدن.میشه لطفا یه توضیح مختصر در مورد نحوه حذف گروهی سطرای انتخاب شده از گرید ارائه بدید.
منم با همین خطا مواجه شدم!(می خوام بدونم علت اجرای Exception Format چی میتونه باشه) راستش می خواستم با اجازتون از کدها به جای حذف، در update گروهی gridview با کلیک روی یه Button استفاده کنم.
ممنون میشم راهنمایی کنید:افسرده:

paladin
سه شنبه 03 فروردین 1389, 19:24 عصر
با سلام و خسته نباشید. ضمن تشکر از پروژه خوبتون ،میشه بگید که combo و edit هارو توی footer چجوری گزاشتید؟

hasti.lm
دوشنبه 16 فروردین 1389, 19:22 عصر
با سلام
آیا با استفاده از تابع جداکننده ای که نوشتید می شه یه رشته ای از ID ها رو گرفت و بعد از جداکردن ID ها اون ها رو به جای حذف کردن به یه table اضافه کرد؟
با تشکر

Behrouz_Rad
دوشنبه 16 فروردین 1389, 19:58 عصر
با سلام
آیا با استفاده از تابع جداکننده ای که نوشتید می شه یه رشته ای از ID ها رو گرفت و بعد از جداکردن ID ها اون ها رو به جای حذف کردن به یه table اضافه کرد؟
با تشکر
بله میشه. خروجی اون تابع، یک جدول هست. در جدول، پیمایش و رکوردها رو وارد کن.

موفق باشید.

nPad.Net
دوشنبه 16 فروردین 1389, 20:05 عصر
با سلام





آیا با استفاده از تابع جداکننده ای که نوشتید می شه یه رشته ای از ID ها رو گرفت و بعد از جداکردن ID ها اون ها رو به جای حذف کردن به یه table اضافه کرد؟
با تشکر
اگه منظورتونو درست متوجه شده باشم شما میخواید چند سطرمتشکل از id هاتونو به صورت گروهی و یکجا وارد یه tbl کنید.من از این تابع برا select استفاده کردم مشکلی نداشت

ولی واسه insert اگه نخواید ازfor استفاده کنید میتونید علاوه بر این تابع از این مقاله (http://www.30sharp.com/ShowArticle.aspx?nid=13&did=169&AuthorID=1) هم ایده بگیرید.

موفق باشید

Behrouz_Rad
دوشنبه 16 فروردین 1389, 20:41 عصر
منم با همین خطا مواجه شدم!(می خوام بدونم علت اجرای Exception Format چی میتونه باشه)

یک باگ در نسخه ی 7.0 این پروژه وجود داشت که منجر به تولید خطا در هنگام حذف رکورد میشد. این باگ برطرف شد. نسخه ی اصلاح شده (7.1) را از لینک ذیل دریافت بفرمایید:
http://barnamenevis.org/forum/showthread.php?t=50594&page=12

موفق باشید.

Behrouz_Rad
دوشنبه 16 فروردین 1389, 20:54 عصر
با سلام و خسته نباشید. ضمن تشکر از پروژه خوبتون ،میشه بگید که combo و edit هارو توی footer چجوری گزاشتید؟
این کنترل ها در تگ <FooterTemplate> که از زیر تگ های <TemplateField> کنترل GridView هست قرار داده شده اند.

موفق باشید.

salehbagheri
دوشنبه 16 فروردین 1389, 21:04 عصر
یک باگ در نسخه ی 7.0 این پروژه وجود داشت که منجر به تولید خطا در هنگام حذف رکورد میشد. این باگ برطرف شد. نسخه ی اصلاح شده (7.1) را از لینک ذیل دریافت بفرمایید:

دمت گرم دقيقاً يك سال و دو روز بعد از اين كه باگ رو كشف كردم اين مشكل رو رفع كرديد!

http://barnamenevis.org/forum/showpost.php?p=699405&postcount=114

Behrouz_Rad
دوشنبه 16 فروردین 1389, 21:48 عصر
دمت گرم دقيقاً يك سال و دو روز بعد از اين كه باگ رو كشف كردم اين مشكل رو رفع كرديد!

http://barnamenevis.org/forum/showpost.php?p=699405&postcount=114
حسش نبود رفعش کنم :لبخند::چشمک:

hasti.lm
دوشنبه 16 فروردین 1389, 21:57 عصر
بله میشه. خروجی اون تابع، یک جدول هست. در جدول، پیمایش و رکوردها رو وارد کن.

موفق باشید.
درسته که نتیجه یه جدوله ولی نمی تونم روی سطرها حرکت کنم.

iman_ad
یک شنبه 29 فروردین 1389, 00:18 صبح
public static OrdersProvider Instance
{
get
{
if (_instance == null)
{
_instance = (OrdersProvider)Activator.CreateInstance(
Type.GetType(SiteHelper.Settings.Orders.ProviderTy pe));
}
return _instance;
}
}
سلام می خواستم بدونم چرا این property به صورت static تعریف شده
یا این property


public static class SiteProvider
{
public static OrdersProvider Orders
{
get { return OrdersProvider.Instance; }
}
}

Behrouz_Rad
یک شنبه 29 فروردین 1389, 00:36 صبح
public static OrdersProvider Instance
{
get
{
if (_instance == null)
{
_instance = (OrdersProvider)Activator.CreateInstance(
Type.GetType(SiteHelper.Settings.Orders.ProviderTy pe));
}
return _instance;
}
}
سلام می خواستم بدونم چرا این property به صورت static تعریف شده
از Singleton Pattern استفاده کردم. در موردش تحقیق کن.

موفق باشی.

iman_ad
یک شنبه 29 فروردین 1389, 00:43 صبح
می شه بگی چه اتفاقی در حافظه موقع استفاده از چنین property هایی می افته. معمولا توی asp.net از property های static اجتناب می شه، می شه یکم توضیح هم بدید من چیزی که گفتید حتما مطالعه می کنم

Behrouz_Rad
یک شنبه 29 فروردین 1389, 00:59 صبح
می شه بگی چه اتفاقی در حافظه موقع استفاده از چنین property هایی می افته. معمولا توی ASP.NET از property های static اجتناب می شه، می شه یکم توضیح هم بدید من چیزی که گفتید حتما مطالعه می کنم
Singleton Pattern برای تضمین ایجاد یک نمونه ی یکتا از یک کلاس استفاده میشه.

اون Property که می بینی بحثش فرق می کنه. Singleton هست.

موفق!

iman_ad
یک شنبه 29 فروردین 1389, 01:52 صبح
متوجه شدم استاد فرقش با اینکه کلاس static تعریف کنیم چیه؟

Behrouz_Rad
یک شنبه 29 فروردین 1389, 16:58 عصر
متوجه شدم استاد فرقش با اینکه کلاس static تعریف کنیم چیه؟

http://barnamenevis.org/forum/showthread.php?t=87810

amir47
دوشنبه 13 اردیبهشت 1389, 14:04 عصر
خواهش می کنم راهنمایی کنید موقع اجرا خطای زیر را صادی می کند .
Server Error in '/GridView_Functions_by_Behrouz_Rad' Application.
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30561: 'Globalization' is ambiguous, imported from the namespaces or types 'System.Web, System'.
Source Error:
Line 151: xCell.Controls.Add(btnSel)
Line 152: xCell.Attributes.Add("align", "center")
Line 153: xCell.BackColor = Color.FromArgb(Int32.Parse("5A49A7", Globalization.NumberStyles.AllowHexSpecifier))
Line 154: xItem.Controls.Add(xCell)
Line 155: e.Row.Cells(6).Controls.Add(xItem)
Source File: D:\Documents and Settings\amir\Desktop\GridView_Functions_by_Behrou z_Rad\Default.aspx.vb Line: 153


Show Detailed Compiler Output:

amir47
دوشنبه 13 اردیبهشت 1389, 14:06 عصر
خواهش می کنم راهنمایی کنید موقع اجرا خطای زیر را صادی می کند .
Server Error in '/GridView_Functions_by_Behrouz_Rad' Application.
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30561: 'Globalization' is ambiguous, imported from the namespaces or types 'System.Web, System'.
Source Error:
Line 151: xCell.Controls.Add(btnSel)
Line 152: xCell.Attributes.Add("align", "center")
Line 153: xCell.BackColor = Color.FromArgb(Int32.Parse("5A49A7", Globalization.NumberStyles.AllowHexSpecifier))
Line 154: xItem.Controls.Add(xCell)
Line 155: e.Row.Cells(6).Controls.Add(xItem)
Source File: D:\Documents and Settings\amir\Desktop\GridView_Functions_by_Behrou z_Rad\Default.aspx.vb Line: 153


Show Detailed Compiler Output:

zahracomputer
دوشنبه 20 اردیبهشت 1389, 11:38 صبح
سلام و خسته نیاشید
اول از زخمات جناب آقای راد کمال تشکر را دارم. من آخریت تسخع را دانلود و اجرا کردم که در صفحه خروجی پیغام زیر را نمایش می دهد:
Generating user instances in SQL Server is disabled. Use sp_configure 'user instances enabled' to generate user instances.
و gridview خالی نمایش داده می شود.
ممنون از توجهتون

mandana.k
سه شنبه 21 اردیبهشت 1389, 14:16 عصر
دوست عزيز من از اولين كد شما در رابطه با اعمال متداول Gridview دريكي از پروژ ههايم استفاده كردم وبسيار خوب بود ولي يك اشكالي كه در پروژه من ايجاد شده اين است كه پس از اضافه كردن يك رديف به gridview وزدن دكمه refresh مربوط به صفحهweb همين رديف دوباره به gridview اضافه مي شود بدون اينكه من رويدادي را اجرا كرده باشم لازم به ذكر است كه عمل اظافه كردن از اين طريق انجام مي شد OnRowCommand="doInsert" درحالي كه من دكمه اضافه را نمي زنم ولي با refresh كردن اين رويداد را اجرا مي كند:متفکر:

shirin_sh1024
دوشنبه 27 اردیبهشت 1389, 10:51 صبح
واقعا ممنون
میخواستم همون طوری که خودتون گفته بودید فقط با دکمه تشکر ازتون تشکر کنم ولی هر کاری کردم نتونستم خودم رو راضی کنم :بامزه:
خیلی عالی بود
در ضمن ما ایرانیا عاشق چیزای مجانی هستیم که استفاده کنیم تا یه چیزی واسه دانلود کسی میزاره که جنبه آموزشی داره همه هول میشند و سریع میخوان همون رو حاضر آماده یه جا استفاده کنند واقعا حس بدی میده به کسی که روی اون کار زحمت کشیده .
دوستان فکر میکنم هدف این باشه که از این پروژه استفاده کنید برای آموزش و بعدا از اطلاعاتی که یاد گرفتید در پروژتون استفاده کنید نه اینکه کامل بخواید چیزی رو کپی پیست کنید تو پروژتون و هیچی ازش ندونید.

abdonsd
سه شنبه 28 اردیبهشت 1389, 12:52 عصر
لطفا اگه میشه فایل دیتابیسش رو برام بفرستید تا اینور تو sqlserver ریستورش کنم
من یخورده با یوزرهای تو sqlserver ور رفتم قات زده کلا
این برنامه رو هم اجرا نمیکنه و تو کانکشن استرینگش ارور میگیره
مرسی

titrajh
پنج شنبه 06 خرداد 1389, 13:08 عصر
اقا این برنامه خیلی محشر هست فقط اگر بگین که من چطوری میتونم به جدول ها تو پایگاه دادش دسترسی پیدا کنم تا بتونم توسعش بدم یا گزینه هارو اضافه کنم چون با qury analizor sqlserver زیاد آشنایی ندارم و همه کارامو با خود جدولا انجام میدم ممنون میشم