2012-01-05 10 views
0

これは簡単なはずですが、私はこれをやっていません。チェックボックスオプションがオンのASPxListBoxがあります。だから私は1つの文字列で項目を選択したいと思う。このように:文字列へのASPxListBoxアイテム

ITEM1、ITEM4、item9

のように。

「、」で区切り、最後のカンマを削除する必要があることに注意してください。 。

StringBuilder sb = new StringBuilder(); 
for (int i = 0; i < lb1.Items.Count; i++) 
    sb.Append(lb1.Items[i].Selected ? lb1.Items[i].Text + "," : ""); 
TextBox1.Text = sb.ToString(); 

を(私は前に同様の質問をし、私は、これはASPxListBoxであることを言及haventはとして、私が得た提案が文句を言わない動作します

だから、このような何かを試してみましたが、機能しません

これは、Visual Studio 2008、DevExpress社9.3と.NETフレームワークであり、3.5

感謝。

答えて

1

@keyboardP:あなたの解決策は私の頭の中で大丈夫ですので、+1してください。

また、あなたは中央DevExpress社のコードに類似した解決策を見つけることができます。

http://www.devexpress.com/Support/Center/e/E2625.aspx

ASPxListBox listBox = instance; 

string selectedItemsAsString = string.Empty; 

foreach (ListEditItem item in listBox.SelectedItems) 
    selectedItemsAsString += item.Value + ";"; 

if (selectedItemsAsString.Length > 0) 
    selectedItemsAsString = selectedItemsAsString.Trim(new char[] { ';' }); 
2

私はASPxListBoxに慣れていないんだけど、あなたはできませんでしたループして、部分文字列を取得して最後のカンマを削除しますか?

string csvList = sb.ToString(); 
TextBox1.Text = csvList.Substring(0, csvList.LastIndexOf(',')); 
0

私はaspxlistboxに慣れていないですが、あなたはthis-

String Finaloutput=""; 
    for (int i = 0; i < lb1.Items.Count; i++) 
    { 
     string output= lb1.Items[i].Selected ? lb1.Items[i].Text + "," : ""; 
     Finaloutput += output; 
    } 
    TextBox1.Text = Finaloutput.TrimEnd(','); 
ような何かを書くことができます