2015-05-15 2 views
0

Я создал страницу asp.net с двумя списками. один с именем и датой сообщения, а другой с сообщением в нем. Когда я нажимаю первый, я хотел бы выделить сообщение в другом списке, но я действительно не знаю, как заставить это работать. Надеюсь, что кто-нибудь даст мне подсказку.2 listviews working together

У меня есть метод, подобный этому, из первого списка.

Protected Sub lswBerichten2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lswBerichten2.SelectedIndexChanged 

    Dim lblmsgid As Label = CType(lswBerichten2.Items(lswBerichten2.SelectedIndex).FindControl("msgid"), Label) 
    HiddenMessageId.Value = lblmsgide.Text   

End Sub 
+0

Добро пожаловать в переполнение стека! Я редактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

Спасибо ... John Saunders –

ответ

0

Я не совсем уверен, что вы ищете, я не уверен, что цель совершенно ясна. Однако я считаю, что вы привязываете данные к двум спискам (я предполагаю один и тот же источник данных, только разные поля), и когда выбран элемент в списке 1, будет выбран соответствующий элемент в списке 2. Вот мой пример:

Сначала список должен иметь назначенные данные; связывая дисплей и значение по-разному, вы можете разрешить включение поля идентификатора данных.

listBox1.DataSource = YourDatasource; 
listBox1.ValueMember = YourIDField; 
listBox1.DisplayMember = YourMessageOverview; 

listBox2.DataSource = YourDatasource; 
listBox2.ValueMember = YourIDField; 
listBox2.DisplayMember = YourMessageText; 

Затем, когда выбор изменяется, установить, что идентификатор выбранного элемента, то поиск второго списка для элемента с тем же значением.

protected void listbox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string val = (listBox1.SelectedItem as DataRowView)["columnName"].ToString(); 
    listbox2.Items.FindByValue(val).Selected = true; 
} 

Я еще не проверил этот код, однако я бы предположил, что у него не должно быть много проблем.

Также извиняюсь за ответ C# на вопрос VB, это были годы, прошедшие с тех пор, как я работал в VB.

Изменился выбор значения выбранного элемента в соответствии с этим stack answer, Надеюсь, что это поможет?

+0

Итак, если ваша привязка с messageID как значение, то описанный способ звучит как вероятная возможность. – nickson104

+0

Привет, Nickson, Спасибо, я попробовал это, но нет listbox1.SelectedItem.Value в aps.net это похоже на список для форм Windows. Есть ли способ сделать это в asp.net? –