需求:在一个ASP页面中,打印一个GridView的内容,gridview里面的内容,通过查询获取得到。
通过一个Javascript代码,解决如下:
<script language="javascript">
function printdiv(printpage) {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr + newstr + footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
</script>
<--!此处,给出了一个script函数,用来打印一个div-->
<input name="b_print" type="button" class="ipt"
onClick="printdiv('div_print');" value=" Print ">
<--!只需要将要打印的内容放到这个div里面,就能实现打印(此处放要打印的GridView)-->
<div id="div_print">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
GridView的内容指定:
先拖GridView控件,然后将从数据库查询的结果与其绑定:
string time1 = timestr.Text;
string time2 = timeend.Text;
DateTime t1 = Convert.ToDateTime(time1);
DateTime t2 = Convert.ToDateTime(time2);
string temp1 = Temperature.Text;
double temp;
if (temp1.Trim() == "")
{
temp = 0;
}
else
{
temp = Convert.ToDouble(temp1);
}
string humi1 = Humitidy.Text;
double humi ;
if (humi1.Trim() == "")
{
humi = 0;
}
else
{
humi = Convert.ToDouble(humi1);
}
/////////////以上代码为从页面得到输入值,作为书库查询的范围///////////////////////////////
string sqlConn = "Server = .; DataBase = Air_Condition; Integrated Security = True";
SqlConnection myConnection = new SqlConnection(sqlConn);//建立连接
myConnection.Open();
string sqlstr = "select * from Base_Table where Humid > " + humi + "and Temperature >" + temp + "and Date between '" + t1 +
"'and'" + t2 + "'"; //查询语句
SqlCommand myCommand = new SqlCommand(sqlstr, myConnection);
SqlDataAdapter myAdapter = new SqlDataAdapter();
myAdapter.SelectCommand = myCommand;
DataSet myDs = new DataSet();//新建一个DataSet对象用于同GridView绑定
myAdapter.Fill(myDs);//填充适配器
GridView1.DataSource = myDs;//制定GridView的数据源
GridView1.DataBind();//完成绑定
myConnection.Close();
通过以上两个步骤,就可以在数据库中查询得到数据,并且浏览器打印;