جابه جا کردن کنترل در vb.net

nafiseh_hch

Member
سلام
من یک سوال خیلی مبتدیانه داشتم
می خوام یک گزارش با reportview بگیرم ولی وقتی کنترل رو روی صفحه آوردم نمی تونم جابجاش کنم
ممنون می شم اگه کسی بتونه کمک کنه

ei34bglaqjzcx4g8d93n.jpg
 

the_king

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

ei34bglaqjzcx4g8d93n.jpg

منظورتون بالا روی فرمه یا پایین توی کادر قرمز؟ روی فرم راست کلیک کنید ببینید Lock Controls فعاله یا نه،
اگه فعال بود رویش کلیک کنید تا غیر فعال بشه.

اون مواردی که توی کادر قرمز نشون میده اشیاء ای هستند که یا موقعیت شون در فرم ثابته (مثل MenuStrip
و StatusStrip) و یا در هنگام اجرا شدن هیچ ظاهر نمایشی ای ندارند (مثل Timer و BackgroundWorker)

شما می توانید تک تک آنها را در همان محوطه پایین فرم جابجا کنید، اما جایشان همانجا بیرون فرم است و قرار نیست
به داخل فرم منتقل شوند. موقعیت شان هم تاثیری در اجرای برنامه ندارد.
 

nafiseh_hch

Member
در قسمت خود فرم کنترل قابل جابجایی نیست و lock هم نشده
من یک پروژه که توسط کسی دیگه نوشته شده دارم و باید توی اون یک گزارش با reportviewer اضافه کنم، فقط توی اون پروژه این قفل می شه
وقتی پروژه جدید باز می کنم و کنترل reportviewer رو اضافه می کنم این مشکل رو نداره :sad:
ممنونم که پاسخ دادید و اگه راهنماییم کنید بیشتر تر ممنون می شم
 

the_king

مدیرکل انجمن
در قسمت خود فرم کنترل قابل جابجایی نیست و lock هم نشده
من یک پروژه که توسط کسی دیگه نوشته شده دارم و باید توی اون یک گزارش با reportviewer اضافه کنم، فقط توی اون پروژه این قفل می شه
وقتی پروژه جدید باز می کنم و کنترل reportviewer رو اضافه می کنم این مشکل رو نداره :sad:
ممنونم که پاسخ دادید و اگه راهنماییم کنید بیشتر تر ممنون می شم

یک پروژه جدید ایجاد کنید و بعد در منوی Project از گزینه ...Add Existing Item استفاده کنید و فرم ها و کلاس هایی
که در پروژه قبلی داشتید به پروژه جدید اضافه نمایید. ببینید مشکل در این پروژه جدید رفع میشه یا نه.

اگه مشکل رفع نشد احتمالا ایراد از خود فرمه. ببینید اگه یک فرم جدید رو در همون پروژه قبلی بسازید امکان
جابجا کردن reportviewer در داخلش هست یا خیر.
 

nafiseh_hch

Member
همه این کارهارو کردم ولی باز قفله
ممکنه کسی که این برنامه رو نوشته براش این قابلیت رو گذاشته باشه که نتونیم گزارشی غیر از گزارش های خودش داشته باشیم؟
این امکان وجود داره؟

خیلی ممنونم از پاسخ سریعتون
 
آخرین ویرایش:

the_king

مدیرکل انجمن
همه این کارهارو کردم ولی باز قفله
ممکنه کسی که این برنامه رو نوشته براش این قابلیت رو گذاشته باشه که نتونیم گزارشی غیر از گزارش های خودش داشته باشیم؟
این امکان وجود داره؟

خیلی ممنونم از پاسخ سریعتون

نه، به هر حال هر چی که در فرم هست در سه تا فایل Form1.vb و Form1.resx و Form1.Designer.vb مشخص شده.
نمی دونم مشکل مربوط به چیه اما به هر حال گویا شما می توانید گزارش دیگه ای داشته باشید اما در موقعیت و ابعاد
نامناسب.

نهایتا اگه مستقیما توی ویرایشگر نتونستید موقعیت ReportViewer1 رو تغییر بدید توی منوی Project گزینه
Show All Files رو فعال کنید تا فایل های Form1.Designer.vb و Form1.resx قابل مشاهده بشه.
در پنجره Solution Explorer دکمه کوچک + کنار Form1.vb رو فشار دهید و Form1.Designer.vb رو داخلش باز کنید.
در کد داخل Form1.Designer.vb یک کدی شبیه به این هست :
کد:
        '
        'ReportViewer1
        '
        Me.ReportViewer1.Location = New System.Drawing.Point(74, 38)
        Me.ReportViewer1.Size = New System.Drawing.Size(400, 250)

می توانید موقعیت و اندازه ReportViewer1 رو در اینجا مستقیما تغییر بدهید.
 

nafiseh_hch

Member
مشکل من علاوه بر جابجاییش معرفی ریپورت بهش هم هست
چون من یک دیتاست تعریف کردم علاوه بر دیتاستی که قبلاً تعریف شده بود
حالا میخوام فایل ریپورت رو بهش اضافه کنم، همیشه بصورت ویزارد بود الان چون غیر فعاله چجوری باید معرفی بشه؟؟
 

the_king

مدیرکل انجمن
مشکل من علاوه بر جابجاییش معرفی ریپورت بهش هم هست
چون من یک دیتاست تعریف کردم علاوه بر دیتاستی که قبلاً تعریف شده بود
حالا میخوام فایل ریپورت رو بهش اضافه کنم، همیشه بصورت ویزارد بود الان چون غیر فعاله چجوری باید معرفی بشه؟؟

ساده ترین راه اینه که توی یک پروژه جدید روی فلش کوچیک بالا سمت راست ReportViewer1 کلیک کنید و گزینه Design New Report
رو انتخاب کنید و مراحل ساخت اش رو تا انتها طی کنید. زمانی که کار تموم شد و پروژه را Save کردید فایل Report1.rdlc
یا هر چی که اسمش هست رو توی پروژه قبلی Add کنید. اگه ConnectionString در پروژه جدید مشابه پروژه
قبلی باشه هیچ تغییری نمی خواد.

برای اضافه کردن Report به ReportViewer1 در همون فایل Form1.Designer.vb کد زیر رو تغییر بدهید :

کد:
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "نام فایل مورد نظر.rdlc"
 

nafiseh_hch

Member
Connectionstring توی اون پروژه با اینی که من می سازم یکی نسیت
همین کارهایی که گفتید انجام دادم و تقریباً درست شد ولی چون یک دیتاست جدید می سازم هیچی نمایش نمیده
دیتاست خودشم انگار قفل شده و اجازه نمیده که بهش یک table اضافه کنم
هرچی هم سرچ میکنم هیچی پیدا نمی کنم:sad:
 

the_king

مدیرکل انجمن
Connectionstring توی اون پروژه با اینی که من می سازم یکی نسیت
همین کارهایی که گفتید انجام دادم و تقریباً درست شد ولی چون یک دیتاست جدید می سازم هیچی نمایش نمیده
دیتاست خودشم انگار قفل شده و اجازه نمیده که بهش یک table اضافه کنم
هرچی هم سرچ میکنم هیچی پیدا نمی کنم:sad:
یک نسخه کپی از کل پروژه بگیرید. بعد در نسخه جدید فرم ها رو حذف کنید و از سر و ته پروژه بزنید،
یک فرم جدید بسازید و یک ReportViewer داخلش اضافه کنید.
طوری که الان فقط یک فرم باقی بمونه که ReportViewer داخلش همون مشکل رو داره و قابلیت جابجایی نداره.
بعد از اینکه تست کردید و مطمئن شدید که این پروژه همون مشکل رو داره، این نمونه پروژه رو بصورت zip یا rar شده
پیوست کنید تا دلیل مشکل تون رو پیدا کنم.
 

nafiseh_hch

Member
ممنونم از پیگیریتون

form1 توی پیوست همون فرمی هست که کنترل های اون قفل شده
من ریپورت های خودشم گذاشتم که یه نگاهی بهش بندازید
 

پیوست ها

  • project.zip
    239 کیلوبایت · بازدیدها: 4

the_king

مدیرکل انجمن
ممنونم از پیگیریتون

form1 توی پیوست همون فرمی هست که کنترل های اون قفل شده
من ریپورت های خودشم گذاشتم که یه نگاهی بهش بندازید

مشکل پیدا شد، به سادگی قابل رفع کردنه. پروژه تون یک پروژه Visual Studio 2008 هست یعنی نسخه 9.0
اگه در یک پروژه 2008 روی فرم یک ReportViewer رو اضافه کنیم، در References پروژه بصورت خودکار دو مورد
زیر اضافه میشه که هر دو شون همه نسخه 9.0 هستند :
Microsoft.ReportViewer.Common
Microsoft.ReportViewer.WinForms

اما به دلیل نامشخصی در پروژه شما ایندو تا مورد نسخه 8.0 هستند. یعنی یک نسخه قدیمی که مربوط به
Visual Studio 2005 بوده و احتمالا ناسازگار است در References قرار گرفته که موجب بروز اون مشکل عجیب شده.

نحوه رفع کردنش ساده است. پروژه رو باز کنید و یک نگاهی به پنجره Solution Explorer بندازید
(ترکیب کلیدی Ctrl + W و سپس کلید S) اگر پوشه References رو مشاهده نکردید، گزینه Show All Files رو در منوی
Project ویژوال استدیو بزنید تا References قابل مشاهده بشه. پوشه References رو در Solution Explore
باز کنید و دو گزینه Microsoft.ReportViewer.Common و Microsoft.ReportViewer.WinForms رو پیدا کنید.
اگه رویشان راست کلیک کنید و Properties شان را انتخاب نمایید می بینید که مشخصه Version شان 8.0.0.0 است.
روی دو گزینه Microsoft.ReportViewer.Common و Microsoft.ReportViewer.WinForms در References
راست کلیک کنید و گزینه Remove رو انتخاب کنید.

حالا که حذف شدند روی خود پوشه References راست کلیک کرده و گزینه ...Add Reference رو انتخاب کنید.
بعد از چند ثانیه یا دقیقه لیست باز میشه. در زبانه NET. دو مورد Microsoft.ReportViewer.Common و
Microsoft.ReportViewer.WinForms رو در دو مرحله پیاپی پیدا کرده و OK کنید. دقت کنید که ممکنه چند نسخه
متفاوت از آنها موجود باشد. قراره نسخه 9.0 شان را که با Visual Studio 2008 سازگار است اضافه کنید.
حالا باید در لیست References مجدد دو مورد Microsoft.ReportViewer.Common و Microsoft.ReportViewer.WinForms
موجود باشه، البته اینبار نسخه 9.0 شان. پروژه را Save کرده و مجددا باز کنید. الان مشکل جابجا کردن و
ویرایش کردن ReportViewer برطرف شده.
 

جدیدترین ارسال ها

بالا