-Agregar una propiedad de JavaScript al control en el evento Init del Grid.
protected void chkCb_Init(object sender, EventArgs e)
{
ASPxCheckBox chk = sender as ASPxCheckBox;
GridViewDataItemTemplateContainer c = chk.Parent as GridViewDataItemTemplateContainer;
chk.JSProperties.Add("cpIndex", c.ItemIndex);
}
-Agregar el control dentro del DataItemTemplate del grid y agregar eventHandler OnChecked en el evento CheckedChanged del lado del cliente.
<dx:GridViewDataTextColumn Caption="CB" ShowInCustomizationForm="True"
VisibleIndex="0">
<DataItemTemplate>
<dx:ASPxCheckBox ID="chkCb" runat="server" CheckState="Unchecked"
ClientInstanceName="chkCb" oninit="chkCb_Init">
<ClientSideEvents CheckedChanged="OnChecked" />
</dx:ASPxCheckBox>
</DataItemTemplate>
</dx:GridViewDataTextColumn>
-Capturar el evento con JavaScript en el lado del cliente e implementar la lógica deseada.
function OnChecked(s, e) {
value = s.GetChecked();
if (value != true) {
// Código a ejectuar si el control está marcado
alert(s.CpIndex); //Esta propiedad es la que asignamos en el evento Init del control.
}
else {
// Código a ejectuar si el control no está marcado
alert(s.CpIndex); //Esta propiedad es la que asignamos en el evento Init del control.
}
}
protected void chkCb_Init(object sender, EventArgs e)
{
ASPxCheckBox chk = sender as ASPxCheckBox;
GridViewDataItemTemplateContainer c = chk.Parent as GridViewDataItemTemplateContainer;
chk.JSProperties.Add("cpIndex", c.ItemIndex);
}
-Agregar el control dentro del DataItemTemplate del grid y agregar eventHandler OnChecked en el evento CheckedChanged del lado del cliente.
<dx:GridViewDataTextColumn Caption="CB" ShowInCustomizationForm="True"
VisibleIndex="0">
<DataItemTemplate>
<dx:ASPxCheckBox ID="chkCb" runat="server" CheckState="Unchecked"
ClientInstanceName="chkCb" oninit="chkCb_Init">
<ClientSideEvents CheckedChanged="OnChecked" />
</dx:ASPxCheckBox>
</DataItemTemplate>
</dx:GridViewDataTextColumn>
-Capturar el evento con JavaScript en el lado del cliente e implementar la lógica deseada.
function OnChecked(s, e) {
value = s.GetChecked();
if (value != true) {
// Código a ejectuar si el control está marcado
alert(s.CpIndex); //Esta propiedad es la que asignamos en el evento Init del control.
}
else {
// Código a ejectuar si el control no está marcado
alert(s.CpIndex); //Esta propiedad es la que asignamos en el evento Init del control.
}
}
Comentarios
Publicar un comentario