0

ComboBoxデータ型が文字列である挿入ごとにいくつかのデータを追跡したい。そのため、アイテムのテキストをデータとマージすることをお勧めします。
ただし、項目リストからデータを非表示にする方法が必要です。

ここに私が欲しいもののいくつかの簡単な例があります:

"First item text             Data:This was a dog"
"Second item text            Data:This was a girl"
"...item text...             Data:...."

ユーザーからデータを隠すための解決策を見つける必要があります。ComboBox を 20
に設定しようとしましたが、成功しませんでした。注:これを達成するために他のクラスを使用することは許可されていないため、スタック、キューは役に立ちませんMaxLength

4

2 に答える 2

2

C# コンボ ボックスの各項目には、テキストと値の 2 つの属性があります。アイテムの値を必要なデータに設定し、テキストをユーザーに表示する文字列に設定します。

mycomboBox.Items.Add(new ListItem("Value To Display", "actual value"));
mycomboBox.Items.Add(new ListItem("First item text", "This was a dog"));
于 2013-02-23T12:25:35.147 に答える
0

Ok。この単純なアプローチを考えてみましょう:

For i = 0 to n
   set combobox[i] to substring(0, m)

そのため、すべてのアイテムは、表示されるテキストを含む部分文字列にすぎません。

たとえば、アイテムが だった場合、"First item text Data:This was a dog"このコードは"First item text": (C# の場合)の部分のみを表示します。

string str = "First item text             Data:This was a dog";
string shown = str.Substring(0, str.IndexOf("text") + 4);
string hidden = str.Substring(shown.Length);

そして、単にSelectedIndexChangedイベントを処理して、選択した項目のデータで UI を更新します。

private readonly string[] data = new[] { "This was a dog", "This was a girl" };

次に、データを表示します[comboBox.SelectedIndex]

于 2013-02-23T12:25:58.540 に答える