在标签中显示组合框字段

时间:2012-05-24 13:25:26

标签: .net vb.net

我有一个组合框,它读取目录并在组合框中显示文件名。我想要做的是在组合框中选择一个值时我想在标签中显示它。

我试过以下

    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一起使用

4 个答案:

答案 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();
            }
        });
    });
});