سلام
من برای پرینت از دیتاگرید از این نمونه برنامه استفاده کردم
استفاده از اون بسیار سادست
سلام
من برای پرینت از دیتاگرید از این نمونه برنامه استفاده کردم
استفاده از اون بسیار سادست
آخرین ویرایش به وسیله Sal_64 : پنج شنبه 17 بهمن 1387 در 13:21 عصر
.................
آخرین ویرایش به وسیله Sal_64 : پنج شنبه 17 بهمن 1387 در 13:23 عصر
سلام
احتمالا مشکل در نام جدول یا نام ستونها است در کد تغییر سایز ستونهای گرید
آخرین ویرایش به وسیله rostamkhani : سه شنبه 10 دی 1387 در 02:22 صبح
اگر از دستور try-catch استفاده کردید، اون رو بردارید و برنامه رو خط به خط اجرا کنید (با زدن کلید F11) و ببینید آیا تغییرات شما اعمال میشه یا نه، مقادیر ذخیره شده در متغیرها رو در runTime بررسی کنید و ببینید آیا مقدار مورد نظر رو در خود دارند یا خیر.
بهترین راه حل این چنین مشکلاتی، Trace کردن برنامه در حالت Debug است.
در ضمن، کامپوننت های جدیدتر و بهتری هم برای پرینت گرفتن از DataGridView وجود داره، مثل این یکی :
Printing a DataGridView on DotNet Framework
و یا اینا.
موفق باشید
سلام
چیزی از کد برنامه ننوشتی!
من هم با دوستوم جناب hdv212 موافقم.بهتره اول مطمئن بشی از کجا (کدام خط و کدام دستور) ،رفتار مورد نظر رخ نمی دهد.بعد در موردش بحث کنیم.
موفق باشید
کسی می تونه نمونه ای که گذاشتن رو به gridview تغییر بده؟ چون این مال گریده و روی گرید ویو کار نمی کنه.
Sal_64 خودت می تونی این کار رو بکنی اگه این کار رو بکنی کلی دعات می کنم.
مرسی
سلام
اولا از همه دوستان ممنونم
هر چند که بارها بررسی شده بود ولی دوباره هم بررسی کردماحتمالا مشکل در نام جدول یا نام ستونها است در کد تغییر سایز ستونهای گرید
با شما صد در صد موافقمبهترین راه حل این چنین مشکلاتی، Trace کردن برنامه در حالت Debug است.
و اما برای اطمینان بیشتر
این مورد رو روی دستابیس NorthWind امتحان کردم و در کمال تعجب روی اون بدون هیچ موردی (حتی با select های تو در تو و ....) درست جواب داد
البته برای اطمینان یه دیتابیس جدید ساختم و تا اونجایی که بلد بودم و در propertis دیتابیس NorthWind مواردی رو دیدم ، دیتابیس رو شبیه به اون ایجاد کردم
حتی table ها (2 تا) رو هم همینطور البته به جز وابستگی ها و fk و..
اما دوباره به مشکل پست 1 و2 همین لینک برخورد کردم
این نمونه کد رو ببینیدچیزی از کد برنامه ننوشتی!
کاملا درست کار میکنه البته با دیتابیس NorthWind
...........
لطفا ببینید و بررسی کنید
اگر احتیاج به اسکریپت دیتابیس که ساختم و NorthWind هم بود ،بگید اینجا بزارم
در صورت امکان با دیتابیس ها ی روی سیستم خودتون هم امتحان کنید
یه مورد :
sql من 2005 ,و دقیق خاطرم نیست این NorthWind رو از کجا دانلود کردم
خوشحال میشم ولی اگه بتونی با دیتاگرید عوضش کنیSal_64 خودت می تونی این کار رو بکنی اگه این کار رو بکنی کلی دعات می کنم.
کار خیلی ساده تر میشه
خب
بازم ممنونم
...................
آخرین ویرایش به وسیله Sal_64 : پنج شنبه 17 بهمن 1387 در 13:25 عصر
سلام
من برنامه رو رو هم با NorthWise و هم با یک جدول که خودم ساختم تست کردم.هم موقع پیش نمایش چاپ و هم چاپ (مجازی در Microsoft Office Document Image Writer) که در هر دو حالت ،با هر دو جدول مشکلی که شما فرمودید (تغییر عرض جدول به مقدار 100 در حالت چاپ) مشاهده نشد.با این حال Source خودتون رو با پایگاه ساخته شده خودم که تست کردم می گذارم تا شما هم تست کنید.
اگر احتمالا اشتباهی کردم ،لطفا یادآوری کنید تا بهتر بتونم کمکتون کنم.
موفق باشید
سلامبا تشکر از دوستانجناب SMRAH1 با بررسی کدهاایراد رو متوجه شدند و لطف کردند در پیغام خصوصی جواب دادندجواب رو با نقل قول از ایشون اینجا میگذارم...............
مشکل برنامه در کد نويسي آن است.هر گاه تعداد رديفهاي جواب (رکورد ها) يک و کمتر از آن باشد اين مشکل را خواهيد داشت.در کلاس Grid ،متد SetHeaders ، شرطif (Cells.GetUpperBound(0)>0)
را به
if (Cells.GetUpperBound(0)>=0)
تغيير دهيد تا برنامه درست عمل کند
GetUpperBound براي يک آرايه 1 عضوي عدد 0 را بر مي گرداند
.................
سلام
به همه مهندسین عزیز
با تشکر از دوستانی که در حل مسئله فوق کمک کردند
//
در نمونه برنامه فوق در هر فرم که احتیاج به پرینت گرفتن باشه
باید کلی کد رو دوباره نویسی کرد
چطور امکان داره که استفاده از کدهای موجود در این پروژه جهت پرینت رو بهینه کرد
یعنی تمام کدهای مشترک رو در کلاسی ریخت
و در زمان لزوم با دادن پارامترهای مورد نیاز به کلاس ، فقط اون کلاس رو فراخوانی کرد
//
سعی کردم کلاسی برای اینکار طراحی کنم که با مشکل روبه رو شد
لطفا کد ضمیمه رو ببینید
چطور باید اون رو تصحیح کرد؟؟
با تشکر
فایل پروژه تون رو نتونستم باز کنم، این پیغام رو میده :
---------------------------
Microsoft Visual Studio
---------------------------
Unable to read the project file 'test_print2.csproj'.
C:\Documents and Settings\Dell\My Documents\test_print2\test_print2.csproj(77,11): The imported project "C:\Microsoft.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
---------------------------
OK
سلام
تشکر
اطلاع ندارم ایراد از کجاست
برای اطمینان بیشتر
دوباره اون رو ضیمیه کردم
با تشکر
سلام
دوستان کلاس رو بررسی کردند
به نظر شما ایراد کجاست
و چطور باید اون رو حل کرد ؟؟؟
با تشکر
از کنترل telerik استفاده کن. خیلی راحته
ميشه يكم در مورد کنترل telerik توضيح بدين؟ براحتي ميشه از ديتاگريد پرينت گرفت؟
سلام دوست من اميد ورم كارتو اين راه بندازه
سلام
استفاده از این نمونه کد هم بسیار سادستاز کنترل telerik استفاده کن. خیلی راحته
و کلاس ساخته شده احتمالا ایراد کوچکی داره
که از چشم من دور مونده
تشکر