Ext. Net 사용 요약 GridPanel 삭제 이벤트

4224 단어 gridPanel
1. Ext.net에서 GridPanel 삭제 이벤트
먼저 GridPanel은 다음과 같습니다.
 <ext:GridPanel ID="GridPanel1" runat="server" AutoScroll="true" Layout="FitLayout" AutoExpandColumn="REMARK">
      <ColumnModel ID="ColumnModel1" runat="server">
           <Columns>
                <ext:RowNumbererColumn Header=" " Width="35" />
                <ext:Column Header="ID" DataIndex="ID" Hidden="true"/>
                <ext:Column Header=" " DataIndex="NAME" Width="150"/>
                <ext:Column Header=" " DataIndex="TYPE" Width="120"/>
                <ext:Column Header=" " DataIndex="REMARK"/>
           </Columns>
       </ColumnModel>
       <Store>
           <ext:Store ID="Store1" runat="server" AutoLoad="true" OnRefreshData="OnData_Refresh">
                <Proxy>
                     <ext:PageProxy>
                     </ext:PageProxy>
                </Proxy>
                <Reader>
                    <ext:JsonReader IDProperty="ID">
                         <Fields>
                              <ext:RecordField Name="ID" />
                              <ext:RecordField Name="NAME" />
                              <ext:RecordField Name="TYPE" />
                              <ext:RecordField Name="REMARK" />
                         </Fields>
                    </ext:JsonReader>
                 </Reader>
            </ext:Store>
        </Store>
        <SelectionModel>
            <ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
            </ext:RowSelectionModel>
        </SelectionModel>
        <BottomBar>
            <ext:PagingToolbar ID="PagingToolBar1" runat="server" PageSize="20" StoreID="Store1" Height="25" DisplayInfo="true" DisplayMsg=" {0} - {1}, {2} " EmptyMsg=" " />
        </BottomBar>
  </ext:GridPanel>

다음 삭제 버튼을 추가합니다.
<ext:Button ID="extBtn_Delete" runat="server" Text=" " Icon="Delete">
    <DirectEvents>
        <Click OnEvent="extBtn_Delete_Click" />
    </DirectEvents>
</ext:Button>

버튼의 백그라운드 이벤트를 다음과 같이 삭제합니다.
    protected void extBtn_Delete_Click(object sender, DirectEventArgs e)
    {
        RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
        if (sm.SelectedRows.Count == 0)
        {
            X.Msg.Alert(" ", " !").Show();
            return;
        }
        X.Msg.Confirm(" ", " ?", new MessageBoxButtonsConfig
        {
            Yes = new MessageBoxButtonConfig
            {
                Handler = "Ext.net.DirectMethods.DoDel();",
                Text = " "
            },
            No = new MessageBoxButtonConfig
            {
                Text = " "
            }
        }).Show();
    }

    [DirectMethod]
    public void DoDel()
    {
        RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
        try
        {
            foreach (SelectedRow row in sm.SelectedRows)
            {
                // ,  row.RecordID  ID
                GridPanel1.DeleteSelected();
                Store1.CommitChanges();
            }
        }
        catch(Exception ex)
        {
            X.Msg.Alert(" ", " !|"+ex.Message).Show();
            return;
        }
        GridPanel1.Reload();
    }

이 섹션은 전체 삭제에 중점을 두고 있으며 여기서 언급된 키 ID는 Store에서 설정한 IDProperty 속성입니다.
GridPanel1.DeleteSelected();
Store1.CommitChanges();

이 두 줄은 GridPanel에서 선택한 줄을 비우는 데 사용되며, 비우지 않으면 다음 선택 이벤트에 영향을 줄 수 있습니다.
참고: 본고에서 사용한 Ext.net 버전은 1.x

좋은 웹페이지 즐겨찾기