2013-06-06 1 views
-1

я пытаюсь показать более одного значения в DataRow я пробовал с разными способами, но получаю ошибку мой код,Как добавить еще одно значение в строке данных C#?

crow["BaseCostHighWay * POF * PTF * WCF"] = BaseCostScoreHW + POF + PTF + WCF; 

я пытался показать «BaseCostScoreHW» «POF» «ПТФ» «ФОС» в моя строка данных, если я попробовать его с «+» между ними приведет к ошибке на этом месте

Hopes за предложение спасибо заранее

отредактирован,

должны выглядеть

BaseCostHighWay * POF * PTF * WCF 

2.5,1.6,8.1,0.9 
+1

Не должны ли 'BaseCostHighWay',' POF', 'PFT' и' WCF' быть отдельными столбцами? Другими словами, 'crow [" BaseCostHighWay "] = BaseCostScoreHW; ворона ["POF"] = POF; crow ["PTF"] = PTF; crow ["WCF"] = WCF; "или что-то похожее. – Tim

+0

Вы, очевидно, не можете этого сделать. Можете ли вы предоставить больше кода (что такое ворона, BaseCostScoreHW, POF, PTF и WCF, их типы и т. д.)? – Alex

+0

Является ли это строкой в ​​DataTable, которую вы пытаетесь добавить? Или изменить? – SamiHuutoniemi

ответ

1

В зависимости от типа переменных BaseCost .. ',' PDF ',' PTF 'и т. Д. Вы можете получить различные ошибки. Итак, для начала, когда вы спрашиваете, всегда говорите, ЧТО ошибка вы получаете, иначе нам нужно будет взять кристаллический шар и угадать.

Другое дело, что вы подразумеваете под «+»? Вы хотите добавить цифры, или вы хотите приклеить текст вместе?

Угадав типичные проблемы, наиболее вероятно, что вы хотите построить строку с несколькими значениями внутри, а переменные имеют смешанный тип. Попробуйте добавить «.ToString()» друг к другу и проверить, не возникла ли ошибка снова.

string text = BaseCostScoreHW.ToString() + POF.ToString() + PTF.ToString() + WCF.ToString(); 
crow["BaseCostHighWay"] = text; 
// text = 1.12.23.34.4 

Это немного подробный. Если вы действительно хотите использовать оператор «+», просто убедитесь, что первые значения является строкой:

string text1 = BaseCostScoreHW.ToString() + POF + PTF + WCF; 
string text2 = string.Empty + BaseCostScoreHW + POF + PTF + WCF; 
string text3 = "" + BaseCostScoreHW + POF + PTF + WCF; 
// text1/2/3 = 1.12.23.34.4 

Те три линии имеют одинаковый эффект.

Но, даже если это сработает, результат не будет красивым, так как он будет склеить все плотно. Вы можете добавить больше строк и символов к выражениям:

string text = "" + BaseCostScoreHW + "," + POF + "," + ... 

Но .. это почти невозможно. Более хороший способ форматирования немного текста является использование .. string.format:

string text = string.Format("{0},{1},{2},{3}", BaseCostScoreHW, POF, PTF, WCF); 
crow["BaseCostHighWay"] = text; 
// text = 1.1,2.2,3.3,4.4 

Обратите внимание, что не существует неоднозначное «+» здесь. Вы просто говорите «формат» и «как этот шаблон» и «вот значения».

+0

должен увидеть сейчас редактирование спасибо за rply –

+0

Я обновил форматы и значения в соответствии с вашим примером. Пожалуйста ознакомтесь. – quetzalcoatl

+0

Ах, и, конечно, ваш DataColumn с именем BaseCostHighWay * POF * PTF * WCF должен иметь тип строки. Если вы наберете его как 'number'/'double'/etc, он не примет построенное текстовое значение. Убедитесь, что столбец BaseCostHighWay * POF * PTF * WCF имеет строковый тип данных. – quetzalcoatl

0
crow["BaseCostHighWay * POF * PTF * WCF"] = 
    String.Format("{0},{1},{2},{3}", BaseCostScoreHW, POF, PTF, WCF); 

 Смежные вопросы

  • Нет связанных вопросов^_^