2016-03-18 16 views
0

Yani, 2 liste kutum var, daha önce seçili olan her liste kutusu dizin öğesini yeşil renge çevirmek istiyorum. Şu andaDevExpress Çoklu Liste Kutusu LostFocus Renk efekti

:

  1. liste kutucukları seçilen ilk indeksi ile başlar
  2. ikinci liste atlayarak, ilk liste kutucukları endeksi kaydeder ve uygulamak (Ben hiçbir seçim ile dışarı başlamak istiyorum) ikinci liste kutusuna. (? Nasıl yeni seçilen liste üzerinde dizinini başlatmak için - Ben GotFocus üzerine dizinin sıfırlanması çalıştım ama hala çalışmıyor)

Örnek Burada gösterilen:

: Burada http://screencast.com/t/tFsYNJul

javascript var

var previousIndex = -1; 
function OnInit(s, e) { 
    previousIndex = s.GetSelectedIndex(); 
} 

function OnSelectedIndexChanged(s, e) { 
    if (previousIndex > -1) { 
     s.GetItemRow(previousIndex).style.backgroundColor = 'green'; 
     previousIndex = s.GetSelectedIndex(); 
    } 
} 

işaretleme:

<form id="form1" runat="server"> 

    <dx:ASPxListBox ID="ListBox1" runat="server" Width="100px" Height="150px"> 

     <Items> 
      <dx:ListEditItem Text="1" /> 
      <dx:ListEditItem Text="2" /> 
      <dx:ListEditItem Text="3" /> 
      <dx:ListEditItem Text="4" /> 
      <dx:ListEditItem Text="5" /> 
     </Items> 
     <ItemStyle SelectedStyle-ForeColor="Black" SelectedStyle-BackColor="Yellow" /> 

     <ClientSideEvents Init="OnInit" LostFocus="function (s,e) { s.UnselectAll(); }" SelectedIndexChanged="OnSelectedIndexChanged" /> 
    </dx:ASPxListBox> 

      <dx:ASPxListBox ID="ASPxListBox1" runat="server" Width="100px" Height="150px"> 

     <Items> 
      <dx:ListEditItem Text="1" /> 
      <dx:ListEditItem Text="2" /> 
      <dx:ListEditItem Text="3" /> 
      <dx:ListEditItem Text="4" /> 
      <dx:ListEditItem Text="5" /> 
     </Items> 
     <ItemStyle SelectedStyle-ForeColor="Black" SelectedStyle-BackColor="Yellow" /> 

     <ClientSideEvents Init="OnInit" LostFocus="function (s,e) { s.UnselectAll(); }" SelectedIndexChanged="OnSelectedIndexChanged" /> 
    </dx:ASPxListBox> 
</form> 

cevap

0

Bu düzgün gerekli ne idare edecek:

function OnInit(s, e) { 
    s.cpPreviousIndex = s.GetSelectedIndex(); 
} 

function OnSelectedIndexChanged(s, e) { 
    if (s.cpPreviousIndex > -1) { 
     s.GetItemRow(s.cpPreviousIndex).style.backgroundColor = '#C0E0CE'; 
    } 
    s.cpPreviousIndex = s.GetSelectedIndex(); 
} 
İlgili konular