iTextSharp を使用して、グリッド データを PDF ファイルにエクスポートしています。私はビルノを検索しており、フェッチされたデータはグリッドとコントロール(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>