نمایش نتایج 1 تا 2 از 2

نام تاپیک: ایجاد خروجی word,PDF از gridview?

  1. #1

    Tick ایجاد خروجی word,PDF از gridview?

    سلام
    کاربر توی برنامه جستجو میکنه و نتایج جستجوش رو در Gridview میبینه ، چطور میشه این اطلاعات رو بصورت PDF یا Word به کاربر داد؟ (ممکنه Gridview حالت Pageing باشه)

  2. #2
    برای ایجاد خروجی PDF، بارها سوال شده و کامپوننت های مختلفی معرفی شده (جستجو کن)
    برای تبدیل به WORD، ضمن اینکه می تونم بهت پیشنهاد استفاده از Microsoft Word 11.0 Object Library رو بدم، از کد زیر هم می تونی استفاده کنی:

    Response.Clear();
    Response.AddHeader("content-disposition", "attachment;filename=FileName.doc");
    Response.ContentType = "application/vnd.word";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    GridView.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();

    متد RenderControl، تمامی کدهای HTML تولید شده توسط GridView رو به خروجی ارسال می کنه!
    اگر این حالت، باب میلت نیست، می تونی با یک حلقه ی For Each Next در ردیف های GridView حرکت کنی و مقادیر اون رو استخراج کنی.
    دقت داشته باش که این مقادیر باید در یک ساختار HTML قرار داشته باشند.
    به عبارت دیگه، هر ردیف در یک TR و هر مقدار در یک TD. این تگ ها باید توسط تو و در کد برنامه ایجاد بشن.

    و اما در مورد Paging بودن:
    2 حالت داره:
    1) قابلیت Paging به شکل ساده به GridView اعمال شده (که مطمئنا می دونی در این حالت تمامی رکوردها بازیابی می شوند که اصلا شیوه ی مناسبی نیست!)
    2) قابلیت Paging به شکل سفارشی ایجاد شده (Custom Paging)
    حتما می دونی که در حالت Paging سفارشی، از یک SP ی معروف که حتما تا به حال دیدیش استفاده میشه.

    نکته ی قابل تاملی که در رابطه با GridView وجود داره اینه که اگر با کدنویسی قصد Bind کردن GridView به دیتا سورس رو داشته باشی، GridView (بر خلاف DataGrid) قابلیت Custom Paging رو ساپورت نمی کنه!
    اما اگر از ObjectDataSource و یا SqlDataSource استفاده کنی، این مشکل وجود نداره.

    در حالت Paging ساده، به شکل ساده می تونی قبل از بازیابی داده های GridView، خاصیت Paging رو برابر با False و پس از استخراج داده ها، مجددا قابلیت Paging رو به True تنظیم کنی.
    اما در حالت Paging سفارشی، 2 راهی که وجود داره، یا ایجاد یک DataSource سفارشی هست (که به دردسرش نمی ارزه) و یا ایجاد یک Pager Control.

    در اینجا بحث ما در مورد قابلیت Paging نیست. قصد، تنها آشنایی با یک سری مشکلات بود.
    و اما تابعی ایجاد کن که 2 پارامتر PageSize و PageIndex رو به عنوان پارامتر ورودی دریافت می کنه و به SP پاس میده و خروجی از نوع DataReader رو برگشت میده. در این حالت، هر تعداد رکورد در هر محدوده ای که دوست داشتی رو می تونی بازیابی کنی.

    موفق باشید.

تاپیک های مشابه

  1. GridView با گوشه های کمانی (Rounded Gridview Corner)
    نوشته شده توسط maryam_80 در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: دوشنبه 24 دی 1386, 04:31 صبح
  2. مشکل در gridview
    نوشته شده توسط hamishe bahar در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 29 آبان 1386, 12:21 عصر
  3. باز هم مشکل GridView
    نوشته شده توسط Hossein Bazyan در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 11 مهر 1386, 09:46 صبح
  4. gridview ASP.net 2.0
    نوشته شده توسط mahmoodreza در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: جمعه 18 فروردین 1385, 22:50 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •