我创建了一个包含两个listview的asp.net页面。一个有名称和消息日期,一个有消息,当我点击第一个我想在其他列表视图中突出显示该消息但我真的不知道如何让它工作。我希望somone在这里给我一个提示。
我从第一个listview获得了这样的方法。
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 :(得分:0)
我不完全确定你在寻找什么,我不确定意图是否完全清楚。但是我确实相信您将数据绑定到两个列表(我假设相同的数据源,只是不同的字段),并且当选择列表1中的项目时,将选择列表2中的相应项目。这是我的看法:
首先,列表框必须分配数据;通过以不同方式绑定显示和值,您可以允许包含数据ID字段。
listBox1.DataSource = YourDatasource;
listBox1.ValueMember = YourIDField;
listBox1.DisplayMember = YourMessageOverview;
listBox2.DataSource = YourDatasource;
listBox2.ValueMember = YourIDField;
listBox2.DisplayMember = YourMessageText;
然后,当选择更改时,确定所选项目的ID是什么,然后在第二个列表中搜索具有相同值的项目。
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更改了所选项目值检索,希望这有帮助吗?