我有一个组合框,它读取目录并在组合框中显示文件名。我想要做的是在组合框中选择一个值时我想在标签中显示它。
我试过以下
Label1.Text = Combobox1.SelectedValue
但它似乎不起作用。
我的编码在组合框中显示值
With Combobox1
.DisplayMember = "Name"
.ValueMember = "FullName"
.DataSource = New IO.DirectoryInfo("Path").GetFiles().Select( _
Function(fi) New With {.Name = IO.Path.GetFileNameWithoutExtension( _
fi.FullName), fi.FullName}).ToArray()
End With
我在Combobox1_SelectedIndexChanged事件中有第一段编码。
当我在组合框中选择一个值但是我想在label1.text
中显示“名称”时,“FullName”与textbox1一起使用答案 0 :(得分:2)
使用SelectedItem.ToString()
。 SelectedValue
是分配给用户未看到的项目的值。它有点像标签,如果你想以这种方式看待它。如果您没有显式设置项的值,它将为NULL,这就是您在标签中看不到任何内容的原因。
SelectedValue
对数据绑定非常有用。例如,您希望用户看到名称“John Smith”,但您希望将值设置为它所绑定的数据库行的主键。如果基于该项更新数据库,则可以传递SelectedValue
作为参数(John Smith的行的PK),因为它已经设置好了。
答案 1 :(得分:0)
请按照这样说。希望这可以帮助。
private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
label1.Text=comboBox1.SelectedItem.ToString();
OR
label1.Text=comboBox1.SelectedValue.ToString();
}
答案 2 :(得分:0)
您可以使用:
ComboBox1.SelectedItem.Name
或
ComboBox1.SelectedItem.FullName
取决于您的目的。
SelectedItem
是一个匿名对象,因此如果您在具有不同键/值的其他Combobox上使用此属性,则属性的名称会有所不同。
答案 3 :(得分:0)
尝试此操作对我有用,只需在此代码中指定要访问其文本的列名即可。
$(document).ready(function () {
$("#maincontent_txtSearch").on("keyup", function () {
debugger;
var g = $(this).val().toLowerCase();
$("#maincontent_chkQuestion tr td input").each(function () {
var td = $(this).parent();
var label = $(td).find("label");
if($(label).html().toLowerCase().indexOf(g) == -1){
$(td).parent().hide();
}else{
$(td).parent().show();
}
});
});
});