У меня есть ASPxGridView со следующими столбцами:
<dx:GridViewDataCheckColumn FieldName="ProtocolEnabled" Caption="Protocol Enabled">
<DataItemTemplate>
<asp:Literal ID="ltProtocolEnabled" runat="server" />
</DataItemTemplate>
</dx:GridViewDataCheckColumn>
<dx:GridViewDataColumn FieldName="ProtocolCount" Width="0" Caption="Protocol Count">
В столбце флажка есть шаблон с литералом, поэтому я могу отображать Да / Нет вместо пустого флажка, но это, вероятно, TMI. Что мне нужно сделать, это:
В режиме редактирования: когда установлен флажок ProtocolEnabled, мне нужно включить текстовое поле ProtocolCount. Когда ProtocolEnabled не отмечен, мне нужно отключить ProtocolCount и установить его текст равным 0.
Я прошу не шаг за шагом, а общий указатель в правильном направлении. Я хотел бы использовать обратные вызовы, если это вообще возможно. Я также обещаю Я не буду удалять этот вопрос , поскольку вы отвечаете на него = P.
Обновление: Благодаря ответчику меня отправили в нужном мне направлении. Вот код, который я использовал:
<dx:GridViewDataCheckColumn FieldName="ProtocolEnabled" Caption="Protocol Enabled" CellStyle-HorizontalAlign="Left">
<DataItemTemplate>
<asp:Literal ID="ltProtocolEnabled" runat="server" />
</DataItemTemplate>
<PropertiesCheckEdit>
<ClientSideEvents CheckedChanged="function(s,e) {ProtocolEnabledChecked(s);}" />
</PropertiesCheckEdit>
</dx:GridViewDataCheckColumn>
<dx:GridViewDataColumn FieldName="ProtocolCount" Width="0" Caption="Protocol Count">
function ProtocolEnabledChecked(ck) {
var x = gvApplicationServer.GetEditor("ProtocolCount");
if (ck.GetValue()) {
x.enabled = true;
}
else {
x.SetValue(0);
x.enabled = false;
}
}
Это клиентский код вместо обратного вызова.