格式应用到GridView控件绑定列不工作
-
26-09-2019 - |
题
我在一个gridview以下各列,一种是日期,而另一个是一个金额。我所施加的格式化和设置HtmlEncode属性为假,但是仍然值上来未格式化的:
<asp:BoundField DataField="Total" HeaderText="Total" ReadOnly="true" HtmlEncode="False" DataFormatString="{0:C}" />
<asp:BoundField DataField="Sale_Date" HeaderText="Sale Date" ReadOnly="true" HtmlEncode="False" DataFormatString = "{0:d}" />
这是这些值如何出现在GridView:
“总” 值出现时为:的 190.0000 强> 该销售日期值出现为:的 2010年9月2日上午8时59分○○秒强>
任何建议?
解决方案
我发现了什么问题。我无法将绑定列在GridView的格式,因为它的数据类型设置为字符串。该数据集,我使用填充GridView控件从Web服务的到来,数据集中的所有字段都回来为字符串所以这就是为什么在GridView DataFormatString属性不能正常工作。
<强>的修复强>:我最终改变这些字段的数据类型我从所述web服务的数据集之后,并使用它作为网格视图的数据源之前,一旦我这样做,在GridView DataFormatString属性和预期一样:
ds = _ws.GetOrderList(brokerId, type, pageSize, pageNum, sort, searchBy, searchFor);
ds2 = ds.Clone();
ds2.Tables[0].Columns["Price"].DataType = System.Type.GetType("System.Double");
ds2.Tables[0].Columns["Total"].DataType = System.Type.GetType("System.Double");
ds2.Tables[0].Columns["Sale_Date"].DataType = System.Type.GetType("System.DateTime");
foreach (DataRow row in ds.Tables[0].Rows)
{
ds2.Tables[0].ImportRow(row);
}
return ds2
不隶属于 StackOverflow