尝试更改数值的字体颜色,但收到错误:输入字符串格式不正确。
例如代码:
DataTable dt = PDSData.getPDSBndl(bndlId, 'N');
string qty = "<font color='red'><i><b>" + dt.Rows[i]["qty"].ToString() + "</b></i></font>";
dt.Rows[i]["qty"] =Convert.ToInt32(qty); //@ this line Getting error.
我尝试将字符串转换为int,但没有希望。
答案 0 :(得分:2)
您无法将bgfbgb56ngfngn
之类的内容解析为int。 dataTable本身只包含数据,没有格式化信息。
您需要更改视图(ASP.NET WebForm或razor视图,无论您使用什么)来处理显示。
答案 1 :(得分:1)
正如您在回答问题时提到的评论
“将数据表绑定到转发器控件rpt.DataSource = dt; rpt.DataBind(); - user1676709”
您正在使用转发器,那么您可以这样做..
<span style="font-weight:bold;font-style:italic;color:#ff0000;"><%# Eval("qty") %></span>
答案 2 :(得分:0)
一些问题:
答案 3 :(得分:0)
字符串 qty 持有像'<font color='red'><i><b>" + dt.Rows[i]["qty"].ToString() + "</b></i></font>'
&amp;你试图强制转换为无效的int32。如果 qty 持有字符串值,如“9”或“10”,它将转换它,但在您的情况下,它将给出错误。使用Int32.TryParse检查字符串是否正确&amp;在out参数中,如果tryparse返回true,您将获得转换后的值。
答案 4 :(得分:0)
如果您希望它在gridview中显示,请在设计中进行管理。 如果您有条件设置颜色,则管理网格视图的itemdatabound事件。