2012-03-07 5 views
0

Я выделил некий LinkButton в моем листе данных, когда нажата кнопка linkbutton. Каждая строка имеет кнопку ссылки, и когда пользователь нажимает кнопку следующей ссылки из любой из строк, предыдущая кнопка выделенной ссылки должна получать нормальный прозрачный фон.Отклонить предыдущую ссылку при нажатии на ссылку в DataList

Для выделения, я использую следующее:

protected void DataList_ItemCommand(object source, DataListCommandEventArgs e) 
    { 
     if (e.CommandName == "select") 
     { 
      LinkButton highlighted = ((LinkButton)(e.Item.FindControl("Item"))); 
      highlighted.BackColor = System.Drawing.Color.Yellow; 
... 
} 

Как я кнопка предыдущей ссылки «не-блик», когда пользователь может выбрать любую другую кнопку ссылки из списка данных? С тех пор, как происходит обратная связь, я не могу иметь глобальную переменную LinkButton для проверки в следующий раз, чтобы сохранить ранее щелкнутый LinkedButton.

Любые предложения?

ответ

1

Если вы переставляете сетку при загрузке страницы, цвет кнопок LinkButtons должен быть сброшен. Тем не менее, что-то, как это должно быть в состоянии установить цвет фона всех LinkButtons к прозрачным:

VB.NET:

For Each DLItem As DataListItem In DataList1.Items 
    Dim unHighLight As LinkButton = DLItem.FindControl("Item") 
     If Not unHighLight Is Nothing Then 
      unHighLight.BackColor = System.Drawing.Color.Transparent 
     End If 
Next 

Dim highlighted As LinkButton = e.Item.FindControl("item") 
highlighted.BackColor = System.Drawing.Color.Yellow 

C#:

foreach (DataListItem DLItem in DataList1.Items) 
{ 
    //unhighlight all ilnkbuttons 
    LinkButton unHighLight = ((LinkButton)(DLItem.FindControl("Item"))); 
    if (unHighLight != null) 
    { 
    unHighLight.BackColor = System.Drawing.Color.Transparent; 
    } 
} 

LinkButton highlighted = ((LinkButton)(e.Item.FindControl("Item"))); 
highlighted.BackColor = System.Drawing.Color.Yellow;