2015-01-07 5 views
0

Я ученик, изучающий C#, с предыдущим опытом работы с VB. Я пытаюсь использовать представление списка для отображения трех частей информации в трех отдельных столбцах. Элемент является десятичным (Object = 3.50m), а subItems - количество и цена. Мне удалось получить первые два столбца с указанием данных с: -C# SubItems Issue

var item = lsvstarter.Items.Add(cmbStarter.Text); 
item.SubItems.Add(cmbStrQuantity.Text); 

Третий столбец должен показать ценность элемента, умноженной на количество, так что было бы

1st Column "3.50" 
2nd Column "3" 
3rd Column (3.50 * 3) "10.5" 

Но метод, который я использовал для первого элемента, не будет работать для переменной, которая должна отображаться третьим столбцом. Это

item.SubItems.Add(Startertotal); 

ListView включает в себя 3 колонки. У меня была эта программа, работающая на VB, так как сценарий один и тот же, но использование переводчиков не сработало. Все объекты в представлении «Дизайн» одинаковы.

Также расчет для переменной «Стартерный» уже был рассчитан в петле заранее. Кто-нибудь знает, что я делаю неправильно, и исправить?

+0

Почему не будет работать? Можете ли вы уточнить? – DanM7

+0

Мое предположение, что вы забыли добавить 3d-столбец в 'ListView' в конструкторе форм. – Sinatr

+0

Он не принимает переменную со вторым элементом SubItem, я не знаю, почему, поскольку он позволяет получить еще один бит данных над ним. Возможно, как я рассчитывал это ранее, возможно, неправильно. Я сделал это с этим else if ((cmbStarter.SelectedIndex == 3)) { Startertotal = (SpicyFiloSamosas * decimal.Parse (cmbStrQuantity.Text)); } –

ответ

0

MSDN: SubItems.Add принимает в качестве первого параметра строку или SubItem.

Так что вам нужно изменить числовое значение строки в той или иной форме:

item.SubItems.Add(Startertotal + " "); 
item.SubItems.Add(Startertotal + ""); 
item.SubItems.Add(Startertotal.ToString());  
item.SubItems.Add(Startertotal.ToString("###0,00")); 
item.SubItems.Add(String.Format("Sum: {0} ", Startertotal)); 

или любой форматированием вы хотите ..