【问题标题】:Extracting selected value from a ListBox从列表框中提取选定的值
【发布时间】:2012-03-12 07:14:57
【问题描述】:

如何从列表框中提取选定的文本和值。 这是我填充列表框的方式

           // Populate ListBox

            ListItem lstListItem = new ListItem();

            int intRecordCount = objDataSet.Tables[0].Rows.Count;

            for (int i = 0; i <= intRecordCount - 1; i++)
            {
                lstListItem.Text = objDataSet.Tables[0].Rows[i]["SN_Notes"];
                lstListItem.Value = objDataSet.Tables[0].Rows[i]["ID"];
                this.lstNote.Items.Add(lstListItem);
            }

然后当我尝试获取选定的值时,它返回空值。我正在使用 Winform / VS2010

           intRecordCount = lstNote.Items.Count;

           for (int i = 0; i <= intRecordCount - 1; i++)
           {
                  lstNote.SelectedIndex = i;
                  strID = lstNote.SelectedValue.ToString(); // Always return Null Value
           }

提前谢谢你!!

【问题讨论】:

  • 您是否直接选择了任何值,也可以将控件绑定到列表框而不是迭代数据表。

标签: c# winforms visual-studio-2010


【解决方案1】:
// Populate ListBox
int intRecordCount = objDataSet.Tables[0].Rows.Count;

for (int i = 0; i <= intRecordCount - 1; i++)
{
    ListItem lstListItem = new ListItem();
    lstListItem.Text = objDataSet.Tables[0].Rows[i]["SN_Notes"];
    lstListItem.Value = objDataSet.Tables[0].Rows[i]["ID"];
    this.lstNote.Items.Add(lstListItem);
}

【讨论】:

    【解决方案2】:

    你的代码是 baaad :|

        // Populate ListBox
        int intRecordCount = objDataSet.Tables[0].Rows.Count;
    
        for (int i = 0; i <= intRecordCount - 1; i++)
        {
            ListItem lstListItem = new ListItem();
            lstListItem.Text = objDataSet.Tables[0].Rows[i]["SN_Notes"];
            lstListItem.Value = objDataSet.Tables[0].Rows[i]["ID"];
            this.lstNote.Items.Add(lstListItem);
        }
    

    您需要在每次迭代时创建 ListItem 的新实例 - 否则,您的 ListBox 将包含单个 ListItem 的多个副本。

    【讨论】:

      【解决方案3】:

      首先,您没有正确绑定ListBox。您应该尝试使用此代码:

      lstListItem.DataSource = objDataSet.Tables[0];
      lstListItem.DisplayMember = "SN_Notes";
      lstListItem.ValueMember = "ID";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 2020-11-21
        • 1970-01-01
        • 2017-04-18
        • 2020-07-01
        • 2023-03-09
        相关资源
        最近更新 更多