چاپ دادهاي در ديتا گريد

gole_maryam

New Member
سلام
مي خواستم بدونم به چه صورت مي توانم دادهاي موجود در ديتا گريد را چاپ كنم البته در اي اس پي دات نت
با تشكر
 

Behrouz_Rad

Member
تنها یک روش عملی و خاص برای اینکار وجود داره و اون هم استفاده از متد RenderControl کنترل DataGrid هست.
تمامی کنترل های وب در ASP.NET دارای این متد هستند.
این متد از کلاس Controls به ارث می بره.
این متد، خروجی HTML کنترل ایجاد شده (خروجی ای که از پردازش موتور ASP.NET ایجاد میشه) رو در متغیری از نوع کلاس HtmlTextWriter قرار میده.
کلاس htmlTextWriter نیز محتویاتش رو به کلاس StringWriter پاس میده و این کلاس نیز کلاس StringBuilder رو ایجاد می کنه.
بعد از اتمام Render، یک خروجی از نوع String از کلاس StringBuilder به دست میاد که باید در یک متغیر رشته ای قرارش بدی و در آخر، برای آنکه به مرورگر بفهمونی که این یک متن HTML هست نه یک متن معمولی، باید با استفاده از متد HtmlEncode کلاس httpUtility یا Server، اون رو به اچ تی ام ال، Encode کنی و در پایان چاپش کنی.
با سلسله مراتبی پدر-فرزندی که توضیح دادم، به راحتی می تونی جواب سوالت رو پیاده سازی کنی:
کد:
Dim SB as New StringBuilder()    
    Dim SW as New StringWriter(SB)
    Dim htmlTW as New HtmlTextWriter(SW)
    DataGrid1.RenderControl(htmlTW)
    
    Dim dataGridHTML as String = SB.ToString()
    
    myLiteralControl.Text = Server.HtmlEncode(dataGridHTML)

موفق باشید.
 

rainbow

New Member
چاپ داده در گريد

سلام
من ميخواهم داده هاي يك گريد با كليك روي يك دكمه براي چاپ بفرستم.
لطفا مرا راهنما يي كنيد .
اگر ممكن است كد اي اس پي دات ان را بنويسيد.
با تشكر
 

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

بالا