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
            public static void OnCalculateDocumentVariable(object sender, DevExpress.XtraRichEdit.CalculateDocumentVariableEventArgs e)
            {
                if (e.Arguments.Count == 0 || e.VariableName != "CustomProperty")
                {
                    return;
                }
                string name           = e.Arguments[0].Value;
                var    customProperty = ((DevExpress.Xpf.RichEdit.RichEditControl)sender).Document.CustomProperties[name];

                if (customProperty != null)
                {
                    e.Value = customProperty.ToString();
                }
                e.Handled = true;
            }