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; } }
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; }