protected void ASPxRichEdit1_CalculateDocumentVariable(object sender, DevExpress.XtraRichEdit.CalculateDocumentVariableEventArgs e)
    {
        var rich = (ASPxRichEdit)sender;

        if (e.VariableName == "MyCustomInsertTableField")
        {
            System.Data.DataTable dataTable = GetDT1();
            DevExpress.XtraRichEdit.RichEditDocumentServer docServer = new DevExpress.XtraRichEdit.RichEditDocumentServer();
            int dataTableRows    = dataTable.Rows.Count;
            int dataTableColumns = dataTable.Columns.Count;

            DevExpress.XtraRichEdit.API.Native.Table table = docServer.Document.Tables.Create(docServer.Document.Range.End, dataTableRows + 1, dataTableColumns);
            for (int i = 0; i < dataTableColumns; i++)
            {
                docServer.Document.InsertText(table[0, i].Range.Start, dataTable.Columns[i].ColumnName);
            }

            table.ForEachCell(delegate(DevExpress.XtraRichEdit.API.Native.TableCell cell, int rowIndex, int cellIndex)
            {
                if (rowIndex > 0)
                {
                    docServer.Document.InsertText(cell.Range.Start, dataTable.Rows[rowIndex - 1][dataTable.Columns[cellIndex].ColumnName].ToString());
                }
            });
            e.Value   = docServer.Document;
            e.Handled = true;
        }
    }
示例#2
0
        //internal void SetMessage(string message)
        //{
        //    richEditControl1.Document.CaretPosition = richEditControl1.Document.Range.Start;

        //    richEditControl1.Document.InsertText(richEditControl1.Document.CaretPosition, message + "\r\n");
        //}
        internal void SetMessage(string message, System.Drawing.Font Font, System.Drawing.Color acolor)
        {
            var richText = new DevExpress.XtraRichEdit.RichEditDocumentServer();

            richText.Text = message;
            CharacterProperties cp = richText.Document.BeginUpdateCharacters(richText.Document.Range);

            cp.FontName  = Font.Name;
            cp.FontSize  = Font.Size;
            cp.Bold      = Font.Bold;
            cp.Italic    = Font.Italic;
            cp.Strikeout = Font.Strikeout ? StrikeoutType.Single : StrikeoutType.None;
            cp.Underline = Font.Underline ? UnderlineType.Single : UnderlineType.None;
            cp.ForeColor = acolor;
            richText.Document.EndUpdateCharacters(cp);
            layoutedtMessage.Visibility             = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
            richEditControl1.Document.CaretPosition = richEditControl1.Document.Range.Start;
            richEditControl1.Document.InsertDocumentContent(richEditControl1.Document.CaretPosition, richText.Document.Range);
            richEditControl1.Document.CaretPosition = richEditControl1.Document.Range.Start;
            richEditControl1.ScrollToCaret();
        }
示例#3
0
    protected void MakeDocx(DxReport rpt)     //, string path, string projtitle, string datafile)
    {
        log(" ====== MakeDocx (DxChartFactory factory) ======");
        //const float imageLocationX = 40;
        //const float imageLocationY = 40;
        //int counter = 0;
        //string path = @"C:\_temp\factory\";


        //string fileName_with_savepath = String.Format(@"{0}{1}", _savepath, _filename);


        using (DevExpress.XtraRichEdit.RichEditDocumentServer srv = new DevExpress.XtraRichEdit.RichEditDocumentServer())
        {
            DevExpress.XtraRichEdit.API.Native.Document doc = srv.Document;
            doc.Unit = DevExpress.Office.DocumentUnit.Inch;
            doc.Sections[0].Page.PaperKind = System.Drawing.Printing.PaperKind.Letter;
            doc.Sections[0].Margins.Left   = 0.5f;
            doc.Sections[0].Margins.Right  = 0.5f;
            doc.Sections[0].Margins.Top    = 0.5f;
            doc.Sections[0].Margins.Bottom = 0.5f;

            string subtitle = String.Format("Data Proj: {0}{1}Data file: {2}", _projtitle, Environment.NewLine, _datafile);

            DocxHeader(doc, rpt.rpttitle, subtitle);

            DocumentPosition pos = doc.Range.Start;
            //New Section

            if (rpt.rptdesc.Length > 2)
            {
                doc.AppendText("Report Description:");
                doc.Paragraphs.Append();
                doc.AppendText(rpt.rptdesc);
                doc.Paragraphs.Append();
            }



            //foreach (DxChartOrder order in rpt.orders.chartorders)
            for (int c = 0; c < rpt.orders.chartorders.Count; c++)
            {
                DxChartOrder order = rpt.orders.chartorders[c];
                doc.Paragraphs.Append();

                bool hassameasPrev = rpt.orders.HasSameWkshtFilterVars(c, "chart", -1);
                bool hassameasNext = rpt.orders.HasSameWkshtFilterVars(c, "chart", 1);

                if (order.dt_selectedvars != null & hassameasPrev == false)
                {
                    AppendDataTable(doc, order.dt_selectedvars);
                    doc.Paragraphs.Append();
                }

                Debug.WriteLine(order.InvoiceToString());
                doc.AppendSingleLineText(order.InvoiceToString());
                doc.Paragraphs.Append();

                for (int b = 0; b < order.batches.Count; b++)
                {
                    DxChartBatch batch = order.batches[b];

                    if (batch.charts.Count > 0)
                    {
                        doc.AppendSingleLineText(batch.batchtitle);
                        doc.Paragraphs.Append();

                        AppendCharts(pos, batch, doc);
                        doc.Paragraphs.Append();
                    }
                }

                if (hassameasNext == false)
                {
                    doc.InsertSection(doc.Range.End);
                }
            }


            srv.SaveDocument(String.Format(@"{0}{1}", _savepath, rpt.RptFilename()), DevExpress.XtraRichEdit.DocumentFormat.OpenXml);
        }
    }