gridview打印

hongcha99 2007-07-13 01:24:01
gridview打印出力面的数据包括分页当中未被显示出来的数据呢?
...全文
583 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jizhaoliang 2008-12-24
  • 打赏
  • 举报
回复
就是啊,谁知道GridView怎么打印啊,用Button按钮点击一下就可以打印GridView里面的内容了,知道的发给我吧,拜求!!!我的邮箱是jizhaoliang1@126.com再次感谢!!!
hongcha99 2007-07-13
  • 打赏
  • 举报
回复
那个是打印的阿?
hongcha99 2007-07-13
  • 打赏
  • 举报
回复
fu le
qqfishqq 2007-07-13
  • 打赏
  • 举报
回复
帮顶个
ke5315309 2007-07-13
  • 打赏
  • 举报
回复
private void 学生成绩浏览表_Load(object sender, System.EventArgs e)
{
SeeTable();
}
public void SeeTable()
{
try
{
string myTable="Cheshianpai_Table";
string myCmd="select distinct(Cheshianpai_Class) from Cheshianpai_Table";
DataSet set1= mySqlCommand.myDataSet(myCmd,myTable);
DataTable table1=set1.Tables["myTable"];
for(int i=0;i<table1.Rows.Count;i++)
{
this.comboBox3.Items.Add(table1.Rows[i][0].ToString());
}
set1.Clear();
myTable="Cheshianpai_Table";
myCmd="select distinct(Cheshianpai_Shijianduan) from Cheshianpai_Table";
set1= mySqlCommand.myDataSet(myCmd,myTable);
table1=set1.Tables["myTable"];
for(int i=0;i<table1.Rows.Count;i++)
{
this.comboBox2.Items.Add(table1.Rows[i][0].ToString());
}
}
catch(SqlException x)
{
MessageBox.Show(x.Message);
}
}
private void comboBox2_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.comboBox1.Items.Clear();
string myTable="Cheshianpai_Table";
string myCmd="select distinct(Cheshianpai_Class) from Cheshianpai_Table where Cheshianpai_Shijianduan='"+this.comboBox2.Text+"'";
DataSet set1= mySqlCommand.myDataSet(myCmd,myTable);
DataTable table1=set1.Tables["myTable"];
for(int i=0;i<table1.Rows.Count;i++)
{
this.comboBox1.Items.Add(table1.Rows[i][0].ToString());
}
}
private void comboBox3_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.comboBox4.Items.Clear();
string myTable="Student_Table";
string myCmd="select Student_Name from Student_Table where Student_Class='"+this.comboBox3.Text+"'";
DataSet set1= mySqlCommand.myDataSet(myCmd,myTable);
DataTable table1=set1.Tables["myTable"];
for(int i=0;i<table1.Rows.Count;i++)
{
this.comboBox4.Items.Add(table1.Rows[i][0].ToString());
}
}
private void button5_Click(object sender, System.EventArgs e)
{
try
{
string myTable="Chengjilulu_Table";
string myCmd="select Chengjilulu_Name as 姓名,Chengjilulu_Bianhao as 编号,Chengjilulu_Shijianduan as 考试时间段,Chengjilulu_Kemu as 考试科目,Chengjilulu_Chengji as 成绩,Chengjilulu_Shifuqiekao as 是否缺考,Chengjilulu_Bukaochengji as 补考成绩 from Chengjilulu_Table where Chengjilulu_Name='"+this.comboBox4.Text+"' and Chengjilulu_Class='"+this.comboBox3.Text+"'order by Chengjilulu_Shijianduan";
DataSet set1= null;
set1=mySqlCommand.myDataSet(myCmd,myTable);
this.dataGrid1.DataSource=set1.Tables[0];
table1=set1.Tables["Chengjilulu_Table"];
}
catch(SqlException x)
{
MessageBox.Show(x.Message);
}
}
private void button1_Click(object sender, System.EventArgs e)
{

DataSet mySet=new DataSet();
string tableName = "";
using (SqlConnection myConnection = new SqlConnection("server=.;database=system;uid=sa;pwd=;"))
{
SqlDataAdapter myAdapter = new SqlDataAdapter("select Chengjilulu_Name as 姓名,Chengjilulu_Xuehao as 学生编号,Chengjilulu_Kemu as 科目,Chengjilulu_Chengji as 成绩,Chengjilulu_Class as 班级,Chengjilulu_Shijianduan as 考试时间段 from chengjilulu_table where Chengjilulu_Shijianduan='"+this.comboBox2.Text+"'and Chengjilulu_Class='"+this.comboBox1.Text+"'", myConnection);
myAdapter.Fill(mySet, "chengjilulu_table");
}
foreach (DataRow dataRow in mySet.Tables["chengjilulu_table"].Rows)
{
if((string)dataRow["班级"]==""+this.comboBox1.Text+"")
{
tableName=this.comboBox1.Text;//"班级" + (string)dataRow["班级"] + "表";
}
//tableName="班级"+this.comboBox1.Text+ "表";
if (!mySet.Tables.Contains(tableName))
{
DataTable myTable = new DataTable(tableName);
myTable.Columns.Add(new DataColumn("姓名", typeof(string)));
myTable.Columns.Add(new DataColumn("学生编号",typeof(string)));
foreach (DataRow innerRow in mySet.Tables["chengjilulu_table"].Select("班级 = '" + (string)dataRow["班级"] + "'"))
{
string columnName = (string)innerRow["科目"];
if (!myTable.Columns.Contains(columnName))
{
DataColumn myColumn = new DataColumn(columnName, typeof(string));
myTable.Columns.Add(myColumn);
}
}
foreach (DataRow innerRow in mySet.Tables["chengjilulu_table"].Select("班级 = '" + (string)dataRow["班级"] + "'"))
{
if (myTable.Select("姓名 = '" + (string)innerRow["姓名"] + "'").Length == 0)
{
DataRow myRow = myTable.NewRow();
foreach (DataColumn dataColumn in myTable.Columns)
{
if (dataColumn.ColumnName == "姓名")
{
myRow[dataColumn.ColumnName] = (string)innerRow[dataColumn.ColumnName];
}
else if(dataColumn.ColumnName == "学生编号")
{
myRow[dataColumn.ColumnName] = (string)innerRow[dataColumn.ColumnName];
}
else
{
myRow[dataColumn.ColumnName] = mySet.Tables["chengjilulu_table"].Select("姓名 = '" + (string)myRow["姓名"] + "' AND 科目 = '" + dataColumn.ColumnName + "'")[0]["成绩"];
}

}
myTable.Rows.Add(myRow);
}
}
mySet.Tables.Add(myTable);
}
}
this.dataGrid1.DataSource = mySet.Tables[tableName];//.Tables[tableName];
table=mySet.Tables[tableName];
}

private void printPreviewDialog1_Load(object sender, System.EventArgs e)
{
printPreviewDialog1.Bounds = ClientRectangle;
}
public void DrawTopLabel(Graphics g)
{
int TopMargin = printDocument1.DefaultPageSettings.Margins.Top;
g.FillRectangle(new SolidBrush(label1.BackColor), label1.Location.X, label1.Location.Y + TopMargin, label1.Size.Width, label1.Size.Height);
g.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), label1.Location.X + 50, label1.Location.Y + TopMargin, new StringFormat());
}
public void DrawTopLabel1(Graphics g)
{
int TopMargin = printDocument2.DefaultPageSettings.Margins.Top;
g.FillRectangle(new SolidBrush(label1.BackColor), label1.Location.X, label1.Location.Y + TopMargin, label1.Size.Width, label1.Size.Height);
g.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), label1.Location.X + 50, label1.Location.Y + TopMargin, new StringFormat());
}

public void SetupGridPrinter()
{
dataGridPrinter1 = new FengYeDataGridPrintClass.DataGridPrinter(dataGrid1, printDocument1,table);
}

private void button3_Click(object sender, System.EventArgs e)
{
SetupGridPrinter();
dataGridPrinter1.PageNumber = 1;
dataGridPrinter1.RowCount = 0;
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printDocument1.Print();
}
}
private void button6_Click(object sender, System.EventArgs e)
{
dataGridPrinter2 = new FengYeDataGridPrintClass.DataGridPrinter(dataGrid1, printDocument2,table1);
dataGridPrinter2.PageNumber = 1;
dataGridPrinter2.RowCount = 0;
if (this.printPreviewDialog2.ShowDialog() == DialogResult.OK)
{
}
}
private void printPreviewDialog2_Load(object sender, System.EventArgs e)
{
printPreviewDialog2.Bounds = ClientRectangle;
}
private void printDocument2_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics g = e.Graphics;
DrawTopLabel1(g);
bool more = dataGridPrinter2.DrawDataGrid(g);
if (more == true)
{
e.HasMorePages = true;
dataGridPrinter2.PageNumber++;
}
}
hongcha99 2007-07-13
  • 打赏
  • 举报
回复
我要问你的是打印不是导成excel?!!!!!
glacier111 2007-07-13
  • 打赏
  • 举报
回复
重新取数据,将取出的数据配置成HTML字符串,然后导出
public static void GenerateByHtmlString(string Typename, string TempHtml)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Charset = "utf-8";
string Filename = Typename + ".xls";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "online;filename=" + Filename);
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
HttpContext.Current.Response.ContentType = "application/ms-excel";
//this.EnableViewState = false;
HttpContext.Current.Response.Write(TempHtml);
HttpContext.Current.Response.End();
}

Typename为导出的文件名,TempHtml为HTML字符串

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧