这应该很容易,但我没有这样做。我打开了带复选框选项的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,我得到的建议不会有效。
因此,这是Visual Studio 2008,Devexpress 9.3和.NET framework 3.5
感谢。
答案 0 :(得分:2)
我不熟悉ASPxListBox
,但是你不能通过获取子字符串来循环然后删除最后一个逗号吗?
string csvList = sb.ToString();
TextBox1.Text = csvList.Substring(0, csvList.LastIndexOf(','));
答案 1 :(得分: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 :(得分:0)
我不熟悉aspxlistbox,但你可以写这样的东西 -
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(',');