0

私は dev express に非常に慣れていません。

<dx:ASPxGridView ID="aspxgvOMContracts" runat="server" KeyFieldName="OMContractId" Settings-UseFixedTableLayout="true"
                                AutoGenerateColumns="False" Settings-HorizontalScrollBarMode="Auto" Width="477px" Theme="PlasticBlue" 
                                OnRowUpdating="aspxgvOMContracts_OnRowUpdating" OnRowUpdated="aspxgvOMContracts_OnRowUpdated">
                                <SettingsPager PageSize="5" />
                                <SettingsBehavior AllowFocusedRow="true" />
                                <SettingsEditing Mode="Inline" />
                          <%--      <Styles>
                                    <CommandColumnItem Spacing="">
                                        <Paddings PaddingLeft="7" PaddingRight="7" />
                                    </CommandColumnItem>
                                </Styles>--%>
                                <Columns>
                                    <dx:GridViewCommandColumn ButtonType="Image" Width="65px" VisibleIndex="0">
                                        <EditButton Visible="True" Image-Url="../Content/Images/icon_edit.png">
                                        </EditButton>
                                        <UpdateButton Visible="True" Image-Url="../Content/Images/icon_update.png">
                                        </UpdateButton>
                                        <CancelButton Visible="true" Image-Url="../Content/Images/icon_cancel.png">
                                        </CancelButton>
                                        <DeleteButton Visible="true" Image-Url="../Content/Images/icon_delete.png">
                                        </DeleteButton>
                                        <ClearFilterButton Visible="True">
                                        </ClearFilterButton>
                                        <%--  <HeaderTemplate>
                                            <dx:ASPxLabel ID="headerLabel" runat="server">
                                            </dx:ASPxLabel>
                                        </HeaderTemplate>--%>
                                    </dx:GridViewCommandColumn>
                                    <dx:GridViewDataComboBoxColumn FieldName="OrganisationName" Caption="OrganisationName" VisibleIndex="1">
                                        <PropertiesComboBox TextField="CompanyName" ValueField="OrganisationId" ValueType="System.Int32">
                                        </PropertiesComboBox>
                                    </dx:GridViewDataComboBoxColumn>
                                    <dx:GridViewDataTimeEditColumn FieldName="DateAnnounced" Caption="DateAnnounced" VisibleIndex="2">
                                    </dx:GridViewDataTimeEditColumn>
                                    <dx:GridViewDataTextColumn FieldName="Cost" Caption="Cost" VisibleIndex="3">
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataTextColumn FieldName="CostCurrency" Caption="Cost Currency" VisibleIndex="4">
                                    </dx:GridViewDataTextColumn>
                                </Columns>

                            </dx:ASPxGridView>

そしてコードビハインドでは、データを次のようにバインドします

aspxgvOMContracts.DataSource = phase.OMContracts;
        aspxgvOMContracts.DataBind();

ここで phase.OMContracts は List() 型です

行を編集したら、変更したコレクションを元に戻す必要があります。変更されたコレクションを取得するにはどうすればよいですか?

4

1 に答える 1

0

AspxGridview コントロールの DataSource プロパティを割り当てた後、DataSource プロパティListから割り当てられた割り当てに直接アクセスできます。これは読み取りおよび書き込みプロパティです。

ドキュメントを確認してください。

ASPxDataWebControlBase.DataSource プロパティ

データ バインド コントロールがデータ項目のリストを取得するオブジェクトを取得または設定します。

From: GridView データ ソースをデータ テーブルに取得する

すべてのポストバックで gridview をバインドすると、DataTable dt = GridView1.DataSource を DataTable として取得できます。

あなたにも同じようにList<SomeType> data = grid.DataSource as List<SomeType>;

この助けを願っています..

于 2013-07-03T13:45:28.223 に答える