首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么打印datagridview内容

2012-01-08 
如何打印datagridview内容如题,如何打印datagridview中显示的内容[解决办法]可以导入到Excel中,在Excel中

如何打印datagridview内容
如题,如何打印datagridview中显示的内容

[解决办法]
可以导入到Excel中,在Excel中打印。
[解决办法]
<script language="javascript">
<!--
function PrintNote()
{
var PrintWin=window.open('about:blank','Print');
PrintWin.document.write('<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>' + document.all("PrintContent").innerHTML);
PrintWin.document.all.WebBrowser.ExecWB(7,1);
PrintWin.close();
}
-->
</script>
--------------------------------------------
内容用<div>装起来,并把DIV设置ID
<div id="PrintContent" align="center">
your GridView
</div>
------------------------------------
<input onclick="javascript:PrintNote();" type="button" value="打印" id="Button2" onserverclick="Button2_ServerClick" runat="server"/>

把gridview控件放入DIV里就可以实现打印了。
[解决办法]
datagridview里面有打印预览和打印的接口,但是我不记得了。
我的想法是,应该先设置打印范围,就是那些列需要打印,然后怎么设置分页,然后打印预览,然后再打印输出。困难的部分是前面怎么设置打印范围。
[解决办法]
LZ 看哈可能对你有用

C# code
 public override void VerifyRenderingInServerForm(Control control)    {           }    protected void Button1_Click(object sender, EventArgs e)    {        string style = @"<style> .text { mso-number-format:\@; } </style> ";        Response.ClearContent();        Response.Buffer = true;        string strFileName = "Myfile.xls";        Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");         Response.ContentType = "application/excel";        StringWriter sw = new StringWriter();        HtmlTextWriter htw = new HtmlTextWriter(sw);        GridView1.RenderControl(htw);        // Style is added dynamically        Response.Write(style);        Response.Write(sw.ToString());        Response.End();    }    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)        {            e.Row.Cells[1].Attributes.Add("class", "text");        }    }
[解决办法]
C# code
         public bool ExportDataGridview(DataGridView gridView, bool isShowExcele)        {            if (gridView.Rows.Count == 0)            {                return false;            }            //建立Excel对象            Excel.Application excel = new Excel.Application();            excel.Application.Workbooks.Add(true);            excel.Visible = isShowExcele;            int rowCount = gridView.Rows.Count;            int colCount = gridView.Columns.Count;            object[,] dataArray = new object[rowCount, colCount];            for (int i = 0; i < gridView.ColumnCount; i++)            {                dataArray[0, i] = gridView.Columns[i].HeaderText;            }            for (int i = 0; i < rowCount-1; i++)            {                for (int j = 0; j < colCount; j++)                {                    if (gridView[j, i].Value.GetType() == typeof(string))                    {                        dataArray[i+1, j] = "'" + gridView[j,i].Value.ToString();                    }                    else                    {                        dataArray[i+1, j]  = gridView[j, i].Value.ToString();                    }                }            }            excel.get_Range("A1", excel.Cells[rowCount, colCount]).Value2 = dataArray;            excel.Cells.EntireColumn.AutoFit();            return true;        }        private void button1_Click(object sender, EventArgs e)        {            this.ExportDataGridview(dataGridView1, true);        } 

热点排行