ASP.NET Dev ASPxGridView控件使用 ASP.NET水晶报表打印
1.ASPxGridView控件使用
2.ASP.NET水晶报表客户端打印
3.javascript打印
4.ASPxGridView根据Textbox查询
5. ASPxGridView 列宽
1. Dev ASPxGridView控件使用
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" KeyFieldName="ID"> <Columns> <dx:GridViewCommandColumn ShowNewButtonInHeader="True" VisibleIndex="0"> </dx:GridViewCommandColumn> <dx:GridViewDataTextColumn FieldName="ID" ReadOnly="True" VisibleIndex="1"> <EditFormSettings Visible="False" /> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="xuhao" VisibleIndex="2" Caption="序号"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Sdata" VisibleIndex="3" Caption="下订单日期"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Sdgdanhao" VisibleIndex="4" Caption="订购单号"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Szongshu" VisibleIndex="5" Caption="订购数量"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Sqdbianhao" VisibleIndex="6" Caption="清单编号"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Sxuhao" VisibleIndex="7" Caption="清单序号"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Sjiancheng" VisibleIndex="8" Caption="供应商"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Sjhjiaoqi" VisibleIndex="9" Caption="计划交期"> </dx:GridViewDataTextColumn> <dx:GridViewDataTextColumn FieldName="Szzjiaoqi" VisibleIndex="10" Caption="最终交期"> </dx:GridViewDataTextColumn> <dx:GridViewDataComboBoxColumn FieldName="Sjianyan" VisibleIndex="11" Caption="检验状态"> <PropertiesComboBox DataSourceID="SqlDataSource_jianyan" TextField="statename" ValueField="statename"> </PropertiesComboBox> </dx:GridViewDataComboBoxColumn> <dx:GridViewDataComboBoxColumn FieldName="Schuli" VisibleIndex="12" Caption="表面处理"> <PropertiesComboBox DataSourceID="SqlDataSource_chuli" TextField="statename" ValueField="statename"> </PropertiesComboBox> </dx:GridViewDataComboBoxColumn> <dx:GridViewDataComboBoxColumn FieldName="Sshouliaoren" VisibleIndex="15" Caption="收料人"> <PropertiesComboBox DataSourceID="SqlDataSource_shouliaoren" TextField="statename" ValueField="statename"> </PropertiesComboBox> </dx:GridViewDataComboBoxColumn> <dx:GridViewDataTextColumn FieldName="Ssldata" VisibleIndex="16" Caption="收料日期"> </dx:GridViewDataTextColumn> <dx:GridViewDataComboBoxColumn FieldName="Sjiaohuo" VisibleIndex="17" Caption="交货状态"> <PropertiesComboBox DataSourceID="SqlDataSource_jiaohuo" TextField="statename" ValueField="statename"> </PropertiesComboBox> </dx:GridViewDataComboBoxColumn> <dx:GridViewDataTextColumn FieldName="Sshuliang" VisibleIndex="18" Caption="到货数量"> </dx:GridViewDataTextColumn> <dx:GridViewDataComboBoxColumn Caption="收料状态" FieldName="Sshouliao" VisibleIndex="13"> <PropertiesComboBox DataSourceID="SqlDataSource_shouliao" TextField="statename" ValueField="statename"> </PropertiesComboBox> </dx:GridViewDataComboBoxColumn> </Columns> <SettingsEditing Mode="Batch"> </SettingsEditing> <SettingsText CommandBatchEditCancel="取消" CommandBatchEditUpdate="保存" CommandNew="新增" /> </dx:ASPxGridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:WMSConnectionString %>" SelectCommand="select * from TSdinggou" UpdateCommand="UPDATE [TSdinggou] SET [xuhao] = @xuhao,[Sdata]=@Sdata,[Sdgdanhao]=@Sdgdanhao,Szongshu=@Szongshu,Sqdbianhao=@Sqdbianhao,Sxuhao=@Sxuhao,Sjiancheng=@Sjiancheng,Sjhjiaoqi=@Sjhjiaoqi,Szzjiaoqi=@Szzjiaoqi,Sjianyan=@Sjianyan,Schuli=@Schuli,Sshouliao=@Sshouliao,Sshouliaoren=@Sshouliaoren,Ssldata=@Ssldata,Sjiaohuo=@Sjiaohuo,Sshuliang=@Sshuliang WHERE [ID] = @ID" InsertCommand="INSERT INTO TSdinggou(xuhao, Sdata, Sdgdanhao, Szongshu, Sqdbianhao, Sxuhao, Sjiancheng, Sjhjiaoqi, Szzjiaoqi, Sjianyan, Schuli, Sshouliao, Sshouliaoren, Ssldata, Sjiaohuo, Sshuliang) VALUES (@xuhao, @Sdata, @Sdgdanhao, @Szongshu, @Sqdbianhao, @Sxuhao, @Sjiancheng, @Sjhjiaoqi, @Szzjiaoqi, @Sjianyan, @Schuli, @Sshouliao, @Sshouliaoren, @Ssldata, @Sjiaohuo, @Sshuliang)" > <InsertParameters> <asp:FormParameter Name="xuhao" Type="String" FormField="xuhao" /> <asp:FormParameter Name="Sdata" Type="String" FormField="Sdata" /> <asp:FormParameter Name="Sdgdanhao" Type ="String" FormField="Sdgdanhao" /> <asp:FormParameter Name ="Szongshu" Type ="String" FormField="Szongshu" /> <asp:FormParameter Name ="Sqdbianhao" Type="String" FormField="Sqdbianhao" /> <asp:FormParameter Name="Sxuhao" Type="String" FormField="Sxuhao" /> <asp:FormParameter Name="Sjiancheng" Type="String" FormField="Sjiancheng" /> <asp:FormParameter Name="Sjhjiaoqi" Type="String" FormField="Sjhjiaoqi" /> <asp:FormParameter Name="Szzjiaoqi" Type="String" FormField="Szzjiaoqi" /> <asp:FormParameter Name="Sjianyan" Type="String" FormField="Sjianyan" /> <asp:FormParameter Name ="Schuli" Type="String" FormField="Schuli" /> <asp:FormParameter Name ="Sshouliao" Type="String" FormField="Sshouliao" /> <asp:FormParameter Name ="Sshouliaoren" Type="String" FormField="Sshouliaoren" /> <asp:FormParameter Name ="Ssldata" Type="String" FormField="Ssldata" /> <asp:FormParameter Name ="Sjiaohuo" Type="String" FormField="Sjiaohuo" /> <asp:FormParameter Name ="Sshuliang" Type="Int32" FormField="Sshuliang" /> </InsertParameters> <UpdateParameters> <asp:FormParameter Name="xuhao" Type="String" FormField="xuhao" /> <asp:FormParameter Name="Sdata" Type="String" FormField="Sdata" /> <asp:FormParameter Name="Sdgdanhao" Type ="String" FormField="Sdgdanhao" /> <asp:FormParameter Name ="Szongshu" Type ="String" FormField="Szongshu" /> <asp:FormParameter Name ="Sqdbianhao" Type="String" FormField="Sqdbianhao" /> <asp:FormParameter Name="Sxuhao" Type="String" FormField="Sxuhao" /> <asp:FormParameter Name="Sjiancheng" Type="String" FormField="Sjiancheng" /> <asp:FormParameter Name="Sjhjiaoqi" Type="String" FormField="Sjhjiaoqi" /> <asp:FormParameter Name="Szzjiaoqi" Type="String" FormField="Szzjiaoqi" /> <asp:FormParameter Name="Sjianyan" Type="String" FormField="Sjianyan" /> <asp:FormParameter Name ="Schuli" Type="String" FormField="Schuli" /> <asp:FormParameter Name ="Sshouliao" Type="String" FormField="Sshouliao" /> <asp:FormParameter Name ="Sshouliaoren" Type="String" FormField="Sshouliaoren" /> <asp:FormParameter Name ="Ssldata" Type="String" FormField="Ssldata" /> <asp:FormParameter Name ="Sjiaohuo" Type="String" FormField="Sjiaohuo" /> <asp:FormParameter Name ="Sshuliang" Type="Int32" FormField="Sshuliang" /> <asp:FormParameter Name ="ID" Type="Int32" FormField="ID" /> </UpdateParameters> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource_chuli" runat="server" ConnectionString="<%$ ConnectionStrings:WMSConnectionString %>" SelectCommand="SELECT [stateid], [statename] FROM [pub_chuli_state]"> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource_shouliao" runat="server" ConnectionString="<%$ ConnectionStrings:WMSConnectionString %>" SelectCommand="SELECT [stateid], [statename] FROM [pub_shouliao_state]"></asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource_jianyan" runat="server" ConnectionString="<%$ ConnectionStrings:WMSConnectionString %>" SelectCommand="SELECT [stateid], [statename] FROM [pub_jianyan_state]"> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource_jiaohuo" runat="server" ConnectionString="<%$ ConnectionStrings:WMSConnectionString %>" SelectCommand="SELECT [stateid], [statename] FROM [pub_jiaohuo_state]"> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource_shouliaoren" runat="server" ConnectionString="<%$ ConnectionStrings:WMSConnectionString %>" SelectCommand="SELECT [stateid], [statename] FROM [pub_shouliaoren_list]"> </asp:SqlDataSource>
2. ASP.NET客户端打印水晶报表,客户端需要安装PDF
protected void Button2_Click(object sender, EventArgs e) { //Response.Redirect("http://192.168.1.22:8075/WebReport/ReportServer?reportlet=dybaojia.cpt"); ReportDocument rptDoc = new ReportDocument(); rptDoc.Load(Server.MapPath("~/Report/Rptbaojiadan.rpt")); DataTable dt = new DataTable(); SqlConnection cn = Project.createCon(); cn.Open(); string strsql = null; string strdanhao = this.TextBox1.Text.Trim(); if (strdanhao.Length == 0) { strsql = "select * from baojiadan "; } else { strsql = "select * from baojiadan where Bdgdanhao like '%" + strdanhao + "%' "; } SqlDataAdapter da = new SqlDataAdapter(strsql, cn); DataSet ds = new DataSet(); da.Fill(ds); rptDoc.SetDataSource(ds.Tables[0]); //服务器需要安装打印机 //rptDoc.PrintOptions.PrinterName = "RICOH Aficio MP 2550B PCL 6"; //rptDoc.PrintToPrinter(1, false, 0, 0); //开户端打印 //以下设置导出水晶报表的格式,位置及文件类型,一般不用word,excel,而用PDF是因为导出质量更好些 ExportOptions myExportOptions = new ExportOptions();//CrystalDecisions.Shared; DiskFileDestinationOptions myDiskFileDestinationOptions = new DiskFileDestinationOptions(); //exports文件夹要有权限并存在 string myFileName = @"D:\" + Session.SessionID.ToString() + ".pdf";//服务器上创建文件 myDiskFileDestinationOptions.DiskFileName = myFileName; PdfRtfWordFormatOptions myPdfRtfWordFormatOptions = new PdfRtfWordFormatOptions(); myExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; myExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; myDiskFileDestinationOptions.DiskFileName = myFileName; myExportOptions.ExportDestinationOptions = myDiskFileDestinationOptions; myExportOptions.ExportFormatOptions = myPdfRtfWordFormatOptions; rptDoc.Export(myExportOptions); //你也可以通什么办法,直接通过客户代码直接打印PDF文件,以取代以下几句Response Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.WriteFile(myFileName); Response.Flush(); Response.Close(); //删除临时PDF文件 System.IO.File.Delete(myFileName); }
3. JavaScript打印
function printPage() { var newWin = window.open('printer','',''); newWin.moveTo(10000,10000); var titleHTML = document.getElementById("printdiv").innerHTML; newWin.document.write(titleHTML); newWin.document.location.reload(); newWin.print(); newWin.close(); } 然后把gridview放在id为printdiv的层里面。 <div id="printdiv">这里放你的gridview</div> <input type="button" onclick="printPage();" value="打印" />
4. 查询
/// <summary> /// 查询,更改SqlDataSource1.SelectCommand /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button2_Click(object sender, EventArgs e) { //SqlConnection cn1 = Project.createCon(); //cn1.Open(); //string strsql = "select * from Wqingdan where Qqdbianhao = '" + TextBox1.Text.Trim() + "' "; //SqlDataAdapter da = new SqlDataAdapter(strsql, cn1); //DataSet ds = new DataSet(); //da.Fill(ds); //GridView1.DataSource = ds; //GridView1.DataBind(); //cn1.Close(); if (TextBox1.Text.Trim().Equals("")) { string strsql = "select * from Wqingdan "; SqlDataSource1.SelectCommand = strsql; SqlDataSource1.DataBind(); } else { string strsql = "select * from Wqingdan where Qqdbianhao = '" + TextBox1.Text.Trim() + "' or Qscdanhao ='" + TextBox1.Text.Trim() + "' or Qprovider='" + TextBox1.Text.Trim() + "' "; SqlDataSource1.SelectCommand = strsql; SqlDataSource1.DataBind(); } }
5. ASPxGridView 列宽 (可能有没有考虑不全的地方)
当列数占位超过现实取时,自动缩放列宽无效。
出现滚动条列不可以自动缩放。
..... </Columns> <SettingsPager> <Summary Text="页 {0} of {1} ({2} 条)" /> </SettingsPager> <SettingsEditing Mode="Batch"> </SettingsEditing> <Settings HorizontalScrollBarMode="Visible" /> <SettingsText CommandBatchEditCancel="取消" CommandBatchEditUpdate="保存" /> </dx:ASPxGridView>
//Page_Load()中{this.ASPxGridView1.Width = Unit.Percentage(100); }//这句很重要
海阔天高