gridview打印出力面的数据包括分页当中未被显示出来的数据呢?
解决方案 »
- 【求解】怎么让flash贯穿整个网站
- b/s系统如何实现打印???请指点^^^^^^
- |zyciis| ASP.NET执行事务的问题 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。 急
- 在asp.net中怎样显示两个表的信息并且可以更新到数据库
- web编程中关于单引号和双引号的问题一直是个比较糊涂的问题,大家都来讨论一下好吗?敬请高手指点
- 如何在.vb中用代码关闭浏览器窗口?
- 一个有挑战性的问题
- DropDownList绑定到数据库。选中别的字段总显示第一个字段。
- 在ASP.net里call Bapi返回的中文是乱码,但在SAP里调试可以正确显示中文
- 如何实现上面是一个图标,下面是一行文字为一体的按钮?
- SQL2005 Reporting Service部署时老提示"Reporting Service"登录名对话框,试了所有的用户我和密码都不行[急]
- 高分求:网页中如何只打印gridview内容
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字符串
{
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++;
}
}