1

リスト ボックスにテキストと値の両方を入力する方法があるかどうか知りたいです。テキストビットは簡単ですが、値が必要なので、ユーザーにその中の何かを選択させ、ボタンを押して選択した値を取得し、SQL クエリを使用して残りを実行できるようにします。

テキストを入力するためのこれまでの私のコードは次のとおりです。

listAllLessons.Items.Add(detail);

ループで実行され、データベースから入力されます。

ありがとう

4

4 に答える 4

2

これは、Web フォームで行うことができます。

HTML 側:

  <asp:DropDownList ID="ddlList" 
                    runat="server" />
  <br />
  <asp:Button ID="btnSubmit" 
              runat="server" 
              OnClick="btnSubmit_Click" 
              Text="Click Me" />

コードビハインド:

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    //Generate 20 items
    foreach(var count in Enumerable.Range(1, 20))
    {
      var newItem = new ListItem();

      newItem.Value = count.ToString();
      newItem.Text = "Item " + count.ToString();

      ddlList.Items.Add(newItem);
    }
  }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
  //Gets the selected value
  var selectedValue = ddlList.SelectedValue;

  System.Diagnostics.Debugger.Break();
}
于 2012-11-19T03:13:26.743 に答える
1

次のようにアイテムを連結してみましたか?

    while (reader.Read())
            {
                ListBox1.Items.Add(reader[0].ToString() + "\t" + reader[1].ToString());
            }
于 2012-11-19T00:43:31.030 に答える
1

これを試してください:

while (reader.Read())
{
  ListItem li = new ListItem(Convert.ToString(reader["test"]), Convert.ToString(reader["value"]));
  ListBox1.Items.Add(li);
}
于 2012-11-19T02:07:19.337 に答える
0

これは私にとってはうまくいきました。

dt = db.GetAllEmployeeForManagement();
                foreach (DataRow item in dt.Rows)
                {
                    ListItem li = new ListItem(Convert.ToString(item["Name"]), Convert.ToString(item["EmployeeID"]));


                    if (!ListBox1.Items.Equals(li.Text))
                    {
                        ListBox1.Items.Add(li);
                    }
                }

ここで、dt は実際には Datasource の参照名なので、非常に簡単です。

于 2016-08-29T11:43:51.720 に答える