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); }//这句很重要

 

posted @ 2016-08-12 09:56  丁晨  阅读(1058)  评论(0编辑  收藏  举报