post icon

Como utilizar el control ASPXCallbackPanel de DevExpress

Una de las maneras más fáciles de implementar el callback con técnología ASPX, es con los controles de DevExpress. La mayoría de sus controles tiene callback propio como la grilla o el combo, pero no todos como las cajas de texto, combos de fechas y otros. Entonces que hacer con ellos? usar el panel de callback.

En este ejemplo tendremos un combo con items precargados que determinarán la fecha que tendrá cargada un aspxDateEdit según su valor seleccionado. Dicho DateEdit estará contenido en un aspxCallbackPanel. Por ejemplo si en el combo se elije navidad la fecha será el 25 de diciembre.

El código será como sigue:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebTest.Default" %>

<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxCallbackPanel" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxPanel" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.ASPxEditors.v10.2, Version=10.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxEditors" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dx:ASPxComboBox ID="cboTest" runat="server" ClientIDMode="AutoID" ValueType="System.String">
            <ClientSideEvents SelectedIndexChanged="function(s, e) {
	            cpnl.PerformCallback();
            }" />
            <Items>
                <dx:ListEditItem Text="Reyes Magos" Value="Reyes Magos" />
                <dx:ListEditItem Text="Dia del Arbol" Value="Dia del Arbol" />
                <dx:ListEditItem Text="Navidad" Value="Navidad" />
                <dx:ListEditItem Text="Dia del Limon Lila" Value="Dia del Limon Lila" />
            </Items>
        </dx:ASPxComboBox>
        <br />
        <dx:ASPxCallbackPanel ID="cpnl" runat="server" Width="587px" ClientInstanceName="cpnl"
            Height="16px" OnCallback="cpnl_Callback">
            <PanelCollection>
                <dx:PanelContent runat="server" SupportsDisabledAttribute="True">
                    <dx:ASPxDateEdit ID="cboFecha" runat="server" ClientIDMode="AutoID">
                    </dx:ASPxDateEdit>
                </dx:PanelContent>
            </PanelCollection>
        </dx:ASPxCallbackPanel>
    </div>
    </form>
</body>
</html>

using System;

namespace WebTest
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void cpnl_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
        {
            switch (cboTest.Text)
            {
                case "Reyes Magos":
                    cboFecha.Date = Convert.ToDateTime("06/01/2012");
                    break;
                case "Dia del Arbol":
                    cboFecha.Date = Convert.ToDateTime("19/06/2012");
                    break;
                case "Navidad":
                    cboFecha.Date = Convert.ToDateTime("25/12/2012");
                    break;
                default:
                    cboFecha.Date = DateTime.Now;
                    break;
            }
        }
    }
}

Comentarios desde Facebook:

Sin Comentarios aun, puedes tú ser el primero en comentar!

Deja tu Comentario

Responder