我出口使用如何获得导出文件(telerik RadGrid导出)的路径?
RadGrid1.MasterTableView.ExportToPdf()
这是一个子一个PDF文件。我的问题是:我能否以某种方式获得导出的文件路径?
在此先感谢,
LajosÁrpád。
我出口使用如何获得导出文件(telerik RadGrid导出)的路径?
RadGrid1.MasterTableView.ExportToPdf()
这是一个子一个PDF文件。我的问题是:我能否以某种方式获得导出的文件路径?
在此先感谢,
LajosÁrpád。
当您导出时,NeedDataSource事件将触发。将数据存储到简单的ADO.NET Datatable中。
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("Col1", typeof(double));
for (int i = 0; i < 2; i++)
table.Rows.Add(i);
(sender as RadGrid).DataSource = table;
}
自我解释。删除文本框,只留下文本。
public void ReplaceTextBoxes(Control ctrl)
{
var q = new Stack<Control>(ctrl.Controls.OfType<Control>());
while (q.Count > 0)
{
Control control = q.Pop();
if (control is ITextControl)
{
ctrl.Controls.Add(new LiteralControl((control as ITextControl).Text));
ctrl.Controls.Remove(control);
}
if (control.HasControls())
ReplaceTextBoxes(control);
}
}
要在服务器上存储,请添加一个OnGridExporting事件。
protected void RadGrid1_GridExporting(object sender, GridExportingArgs e)
{
using (FileStream fs = File.Create(Request.PhysicalApplicationPath + "RadGrid.pdf"))
{
byte[] output = Encoding.GetEncoding(1252).GetBytes(e.ExportOutput);
fs.Write(output, 0, output.Length);
}
Response.Redirect(Request.Url.ToString());
}
您可以将“RadGrid.pdf”更改为您希望调用的任何内容。
最后一个按钮,使这一切发生(或者你可以调用ExportToPdf功能的地方。
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
ReplaceTextBoxes(item);
RadGrid1.MasterTableView.ExportToPdf();
}
感谢您的回答。我正在尝试。 – 2012-08-10 20:00:31
它创建PDF,但PDF为空。 – 2012-08-10 20:20:55
持有不适当更新它,我假设你已经有其他代码 – darethas 2012-08-10 22:29:13
你希望以某种方式能够得到的文件路径,该客户选择保存文件到? – darethas 2012-08-10 15:32:04
要么(但我认为这是不可能的),或将pdf文件存储在服务器上,但我不知道如何设置我的网格来将导出的pdf存储在服务器上 – 2012-08-10 16:27:02