我正在使用 iTextSharp 将网格数据导出到 PDF 文件。我正在搜索 billno,获取的数据与网格和控件相关(在 ext.net 中)。可以通过 3 种方式进行搜索: 1. 通过插入 billno 并在组合框中按 Enter 2. 通过插入 billno 并单击组合中的触发器 3. 通过从组合中选择 billno 现在我单击 ToPDF 按钮导出数据。如果我执行 2 & 3,它工作正常,但是当我执行 1 时,会出现一个窗口,标题为Request failure, Status text-communication failure。由于网格数据也被导出,但是这个窗口似乎我没有得到。
我的代码如下 .cs
protected void ToPDF(object sender, EventArgs e)
{
//Code
}
.aspx
<ext:ComponentMenuItem ID="ComponentMenuItem1" runat="server">
<Component>
<ext:ComboBox ID="cmbSearchBillno" runat="server"
EmptyText="Select Bill No"
ForceSelection="true"
StoreID="BillMasterStore"
DisplayField="Billno" ValueField="BillId">
<Triggers>
<ext:FieldTrigger Icon="Search" />
</Triggers>
<Listeners>
<SpecialKey Fn="enterKeyPressHandler" />
</Listeners>
<DirectEvents>
<%--<SpecialKey OnEvent="enterKeyPressHandler" ShowWarningOnFailure="false" Timeout="60000" StopEvent="true">
<ExtraParams>
<ext:Parameter Name="key" Value="e.getKey()" Mode="Raw">
</ext:Parameter>
<ext:Parameter Name="BillNo" Value="this.getText()" Mode="Raw"></ext:Parameter>
</ExtraParams>
</SpecialKey>--%>
<Select OnEvent="ChangeBillno">
<ExtraParams>
<ext:Parameter Name="BillNo" Value="record.id" Mode="Raw"></ext:Parameter>
</ExtraParams>
</Select>
<TriggerClick OnEvent="SearchBillDetails" >
<ExtraParams>
<ext:Parameter Name="BillNo" Value="this.getText()" Mode="Raw"></ext:Parameter>
</ExtraParams>
</TriggerClick>
</DirectEvents>
</ext:ComboBox>
</Component>
</ext:ComponentMenuItem>
转PDF按钮
<ext:Button ID="btnPdf" runat="server" Text="To PDF" AutoPostBack="true" OnClick="ToPDF" Icon="PageWhiteAcrobat">
<Listeners>
<Click Fn="saveData" />
</Listeners>
</ext:Button>
脚本
<script type="text/javascript">
var enterKeyPressHandler = function (f, e) {
if (e.getKey() == e.ENTER)
{
var billno=this.getText();
Ext.net.DirectMethods.SearchBillno(billno);
e.stopEvent();
this.send();
}
}
var saveData = function () {
GridData.setValue(Ext.encode(GridService.getRowsValues({selectedOnly : false,excludeId:true})));
};
</script>