11 Şubat 2011 Cuma

DevExpress Combobox'ların geri dönüş olmadan bir kontrolü update etmesi

İhtiyacım ComboBoxlarımın geri dönüş yapmadan(postback), sayfadaki textbox alanındaki bir alanın  güncellenmesi için bilgi getirmeleriydi. Uzun uğraşlardan sonra işte çözüm : AspxCallBackPanel

.aspx sayfasını şu şekilde hazırlayın

<dx:ASPxCallbackPanel ID="masterCallback" runat="server"  OnCallback="masterCallback_Callback" ShowLoadingPanel="false" ClientInstanceName="CallbackPanel">
        <PanelCollection><dx:PanelContent>
           <table Width="180px"><tr><td >
           
   <dx:ASPxCheckBox ID="cbSosBogurtlen" Text="Böğürtlen Sosu - 0.75TL" runat="server" Width="157px" ValueChecked="Y" ValueUnchecked="S" ValueType="System.String" >
      <ClientSideEvents CheckedChanged="function(s, e) { CallbackPanel.PerformCallback('cbSosBogurtlen');}" />
   </dx:ASPxCheckBox>
               
                <dx:ASPxCheckBox ID="cbBal" Text="Bal - 0.75TL" runat="server" ValueChecked="Y"  ValueUnchecked="S" Width="157px" ValueType="System.String" >
                   <ClientSideEvents CheckedChanged="function(s, e) { CallbackPanel.PerformCallback('cbBal');}" />
                </dx:ASPxCheckBox>
               
             </td></tr>
 <tr><td ><br />
 Toplam Tutar : <asp:Label ID="lbToplamTutar" runat="server" CssClass="icerikYazi"></asp:Label>
   </td></tr></table>
        </dx:PanelContent></PanelCollection>
    </dx:ASPxCallbackPanel>

.cs sayfasında ise bu geleni alalım

 protected void masterCallback_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
      {
          decimal vidi = 0.0M;
          if (cbSosBogurtlen.Value != null)
          {
              if (cbSosBogurtlen.Value.ToString() == "Y")
                  vidi = vidi + 0.75M;
          }
        if (cbBal.Value != null)
          {
              if (cbBal.Value.ToString() == "Y")
                  vidi = vidi + 0.75M;
          }
        lbToplamTutar.Text =(decimal.Parse(lbToplamTutar.Text) + vidi).ToString();
      }

işte budur ;)

Hiç yorum yok:

Yorum Gönder