2013-03-28 37 views
-2

我想在“列表下拉列表”中显示我的数据,让我解释一下。下拉列表制表C#mvc4

如果数据是这样的:

Potato - 1.00 
Egg - 2.50 
Avocado - 3.00 

我想提出这样的:

Potato - 1.00 
Egg  - 2.50 
Avocado - 3.00 

如何设置格式这样的下拉?

让我试着让我的问题更容易理解:

我只是来组织数据,因为它是在一个dropdonw表现,使得-是两件事的分离器,vegetablevalue,但我想将这个字符放在最大名称项目的末尾,并在此时与另一个-对齐,以向用户显示列表数据。

+0

提供更多详细信息 –

+0

请仔细考虑你在问什么。这个问题是没有道理的。 –

+0

'table'元素是专为制表数据(因此名称表)设计的。如果使用添加视图对话框创建新视图并选择索引作为脚手架,它将使用表格。 – AaronLS

回答

0

由于这是一个下拉列表,那么你将需要使用这样的技术来格式化字符串: Format a string into columns

string.Format("{0,-10} - {1,-10}", item.Name, item.Price) 

您可能还需要做.Replace(" ", " ")因为经常HTML忽略重复空格,但是这可能会或可能不会在下拉菜单中。

注意,你可以通过查找最长的项目,并添加1计算每列的宽度,因此,如果最长Name.Length为5,则

string.Format("{0,-" + longestNameLength + "} - {1,-5}" 

,也许-5为其他,如果你知道它是总是两位数的价格。

+0

我试过把“&nbsp”放在前面,但是在我的屏幕上我没有空格,我得到了字符串“&nbsp”而不是空格:( – guisantogui

+0

首先,别忘了分号,' '第二,你可能需要自己编写HTML而不是使用MVC助手,大多数MVC助手会转义像&这样的特殊字符。请参见http://jsfiddle.net/rZFse/ – AaronLS

+1

此外,您需要使用一个“固定宽度”字体,因为其他字体,像“我”这样的字母比“o”更瘦,并且会导致对齐。 – AaronLS