現在、Telerik の RAD コントロールをいくつか評価しています。ちょうど今、RadGrid を試しています。
そこで、Ajax をサポートするために、グリッド コントロールとクライアント側バインディングを有効にしました。データなどを取得するための適切な WCF Web サービスを作成しました。ページングなどを含め、すべてが非常にうまく機能します。いくつかのアイテムを削除するためのボタン列が必要になりました。グリッドの OnItemCommand イベントを登録し、それに応じてサーバー側で実装しました。私の ASPx コードは次のようになります。
<telerik:RadGrid runat="server" ID="RadGrid1" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" GridLines="None"
OnItemCommand="RadGrid1_ItemCommand">
<MasterTableView DataKeyNames="Id" ClientDataKeyNames="Id">
<Columns>
<telerik:GridBoundColumn DataField="Firstname" HeaderText="Firstname" DataType="System.String">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Lastname" HeaderText="Lastname" DataType="System.String">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Age" HeaderText="Age" DataType="System.Int32">
</telerik:GridBoundColumn>
<telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"
ButtonType="ImageButton">
</telerik:GridButtonColumn>
</Columns>
<PagerStyle Mode="Slider" />
</MasterTableView>
<ClientSettings>
<DataBinding SelectMethod="GetSampleData" Location="Webservice/GridData.svc" SortParameterType="String">
</DataBinding>
</ClientSettings>
</telerik:RadGrid>
ただし、グリッド行の適切なボタンをクリックしてもイベントは発生せず、基本的にサーバーへのポストバックは行われません。私が見つけた解決策は、ClientSettings に " " を追加することですEnablePostBackOnRowClick=true
が、これにより、行をクリックするたびにポストバックが発生し、実際には望ましくありません。
これを実現するためのより良い方法はありますか、それとも問題の可能性があるヒントを誰かが持っていますか??
どうも