• <menu id="w2i4a"></menu>
  • logo Stimulsoft Reports.WinForms教程-2019

    文檔首頁>>Stimulsoft Reports.WinForms教程-2019>>【Stimulsoft Reports.WinForms教程】從代碼打印數(shù)據(jù)網(wǎng)格

    【Stimulsoft Reports.WinForms教程】從代碼打印數(shù)據(jù)網(wǎng)格


    【下載Stimulsoft Reports.Ultimate最新版本】

    此示例顯示如何從代碼中打印數(shù)據(jù)網(wǎng)格,數(shù)據(jù)網(wǎng)格是以表格形式呈現(xiàn)的數(shù)據(jù),在Form1_Load事件中創(chuàng)建并填充數(shù)據(jù)集合:

    private void Form1_Load(object sender, System.EventArgs e)
    {
        DataTable table = new DataTable("Demo");
     
        table.Columns.Add();
        table.Columns.Add();
     
        DataRow row1 = table.NewRow();
        DataRow row2 = table.NewRow();
        DataRow row3 = table.NewRow();
     
        row1.ItemArray = new string[2]{"1", "One"};
        row2.ItemArray = new string[2]{"2", "Two"};
        row3.ItemArray = new string[2]{"3", "Three"};
     
        table.Rows.Add(row1);
        table.Rows.Add(row2);
        table.Rows.Add(row3);
        dataView1.Table = table;
    }

    更詳細(xì)地看一下PrintDataGrid方法,首先在dictionary中創(chuàng)建一個(gè)新的報(bào)表和數(shù)據(jù)源:

    private void PrintDataGrid(DataGrid sender)
    {
        DataView dataView = (DataView)sender.DataSource;
        StiReport report = new StiReport();
        report.ScriptLanguage = StiReportLanguageType.CSharp;
     
        //Add data to datastore
        report.RegData("view", dataView);
     
        //Fill dictionary
        report.Dictionary.Synchronize();
    ...  

    向報(bào)表添加Data Band和Header Band:

    ...
        StiPage page = report.Pages.Items[0];
     
        //Create HeaderBand
        StiHeaderBand headerBand = new StiHeaderBand();
        headerBand.Height = 0.5f;
        headerBand.Name = "HeaderBand";
        page.Components.Add(headerBand);
     
        //Create DataBand
        StiDataBand dataBand = new StiDataBand();
        dataBand.DataSourceName = "view" + dataView.Table.TableName;
        dataBand.Height = 0.5f;
        dataBand.Name = "DataBand";
        page.Components.Add(dataBand);
    ...
    

    將Text Boxes參照上數(shù)據(jù)源字段Data Band,和Text Boxes與數(shù)據(jù)的Header Band:

    ...
        //Create texts
        Double pos = 0;
        Double columnWidth = StiAlignValue.AlignToMinGrid(page.Width / dataView.Table.Columns.Count, 0.1, true);
        int nameIndex = 1;
        foreach (DataColumn column in dataView.Table.Columns)
        {
            //Create text on header
            StiText headerText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5f));
            headerText.Text.Value = column.Caption;
            headerText.HorAlignment = StiTextHorAlignment.Center;
            headerText.Name = "HeaderText" + nameIndex.ToString();
            headerText.Brush = new StiSolidBrush(Color.LightGreen);
            headerText.Border.Side = StiBorderSides.All;
            headerBand.Components.Add(headerText);
     
            //Create text on Data Band
            StiText dataText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5f));
            dataText.Text.Value = "{view" + dataView.Table.TableName + "." +
                Stimulsoft.Report.CodeDom.StiCodeDomSerializator.ReplaceSymbols(column.ColumnName) + "}";
            dataText.Name = "DataText" + nameIndex.ToString();
            dataText.Border.Side = StiBorderSides.All;
     
            //Add highlight
            StiCondition condition = new StiCondition();
            condition.BackColor = Color.CornflowerBlue;
            condition.TextColor = Color.Black;
            condition.Expression = "(Line & 1) == 1";
            condition.Item = StiFilterItem.Expression;
            dataText.Conditions.Add(condition);
     
            dataBand.Components.Add(dataText);
     
            pos += columnWidth;
     
            nameIndex ++;
        }
    ...

    然后,添加一個(gè)Footer Band與Text Box的報(bào)表顯示出Total值:

    ...
        //Create FooterBand
        StiFooterBand footerBand = new StiFooterBand();
        footerBand.Height = 0.5f;
        footerBand.Name = "FooterBand";
        page.Components.Add(footerBand);
     
        //Create text on footer
        StiText footerText = new StiText(new RectangleD(0, 0, page.Width, 0.5f));
        footerText.Text.Value = "Count - {Count()}";
        footerText.HorAlignment = StiTextHorAlignment.Right;
        footerText.Name = "FooterText";
        footerText.Brush = new StiSolidBrush(Color.LightGreen);
        footerBand.Components.Add(footerText);
    ...

    最后,渲染報(bào)表并在查看器中顯示它:

    ...
        //Render without progress bar
        report.Render(false);
        report.Show();
    }

    示例代碼的結(jié)果如下圖所示:

    Stimulsoft

    下載示例

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();