1
要件: 値に基づいてグリッドからボタンをクリックして行を削除する関数を実装しました。私の要件は、ステータスが "Verwerkt"、 "Ter Fiattering"、 "Al verwerkt"の行がグリッドから削除され、コードビハインドでレコードを削除するメソッドをデータベースから追加するというものです。グリッドパネルの不要なロールバックへのExt.NETの変更
問題: 行はグリッドから削除されますが、1/2秒後にCOME BACKが表示されます。本当に変だ。私はwarningondirrtyについての警告を得ましたが、私は店でそれをオフにしてそのメッセージをキャンセルしました(WarningOnDirty = false)。ヘルプ:)
Gridpanel:
<ext:Panel runat="server" ID="panel" Height="0">
<TopBar>
<ext:Toolbar runat="server">
<Items>
<ext:Button ID="btnHaalBatch" runat="server" Text="GBA synchroniseren" OnDirectClick="btnHaalBatch_Clicked" Icon="Add"> </ext:Button>
<ext:Button ID="btnVerwerkNAW" runat="server" Text="Verwerk" OnDirectClick="btnVerwerkNAW_Clicked" Icon="Tick">
<%--<DirectEvents>
<Click OnEvent="Wait"/>
</DirectEvents>--%>
</ext:Button>
<ext:ProgressBar ID="Progress1" runat="server" Width="300" Text="Initializing..." Hidden="true" />
<ext:Button ID="btnClearSelection" runat="server" Text="Mutatie(s) legen" Icon="Delete" OnDirectClick="btnClearSelection_Clicked">
<Listeners>
<Click Handler="MutatieLegen(#{grid});" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
</ext:Panel>
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<!-- Simple Array Grid -->
<ext:GridPanel ID="grid" runat="server" Title="Wijzigingen" AutoWidth="true" AutoHeight="true" Padding="4" StripeRows="true" Draggable="false" Selectable="true" Icon="Application">
<Store>
<ext:Store ID="Store1" runat="server" WarningOnDirty="false">
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="persoonID" Mapping="PersoonsId" />
<ext:RecordField Name="anummer" Mapping="Anummer" />
<ext:RecordField Name="bSNpersoon" Mapping="BSNpersoon" />
<ext:RecordField Name="type" Mapping="TypeWijziging" />
<ext:RecordField Name="datum" Mapping="DatumBinnenhalen" />
<ext:RecordField Name="omschrijving" Mapping="Omschrijving" />
<ext:RecordField Name="foutmelding" Mapping="Foutmelding" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:RowNumbererColumn />
<ext:Column DataIndex="persoonID" Header="Relatie nr." Width="100">
</ext:Column>
<ext:Column DataIndex="anummer" Header="A-nummer" Width="150">
</ext:Column>
<ext:Column DataIndex="bSNpersoon" Header="BSN" Width="150">
</ext:Column>
<ext:Column DataIndex="type" Header="Type wijziging" Width="150">
</ext:Column>
<ext:Column DataIndex="datum" Header="Datum synchroniseren" Width="200">
</ext:Column>
<ext:Column ColumnID="columnStatus" DataIndex="omschrijving" Header="Status" Width="130">
<Renderer Handler="return imgRenderer(value);" />
</ext:Column>
<ext:Column DataIndex="foutmelding" Header="Reden" Width="350">
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="false" />
</SelectionModel>
</ext:GridPanel>
機能クライアントは、行削除のjavascript:背後
function MutatieLegen(grid) {
var i = 0;
//var store = Ext.getCmp("grid").getStore();
if (grid.store.getCount() > 0) {
for (i = grid.store.getCount() - 1; i >= 0; i--) {
var status = grid.store.getAt(i).data["omschrijving"];
if (status == "Verwerkt" || status == "Ter Fiattering" || status == "Al verwerkt") {
grid.store.removeAt(i);
}
}
}
コード:
protected void btnClearSelection_Clicked(Object sender, DirectEventArgs e)
{
// Code behind logic. call sql to delete rows where status == Verwerkt or Ter Fiattering or Al verwerkt
}
それだけです! *顔を叩く*私は101のものを忘れてしまった他のすべてのものでとても夢中になった。 – Danny