В настоящее время я оцениваю некоторые элементы управления RAD от Telerik, прямо сейчас я экспериментирую с RadGrid.
Итак, у меня есть контроль сетки и включена привязка на стороне клиента для поддержки Ajax. Я создал соответствующий веб-сервис WCF для извлечения данных и т. Д. Все работает очень хорошо, включая пейджинг и т. Д. Теперь я хотел иметь столбец кнопок для удаления некоторых элементов. Я зарегистрировал событие сетки 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>
Однако при нажатии на соответствующую кнопку в строке сетки событие не запускается, по сути, никакой обратной передачи на сервер не производится. Решение, которое я нашел, заключается в добавлении «EnablePostBackOnRowClick=true
» к ClientSettings, но это приведет к обратной передаче при каждом щелчке по строке, что на самом деле нежелательно.
Есть ли лучший способ понять это или у кого-нибудь есть подсказка, в чем может быть проблема?
Thx