哪个控件执行类型转换:GridView或数据源控件?

时间:2009-03-22 20:16:46

标签: c# .net asp.net ado.net

假设我们数据将GridView绑定到ObjectDataSource控件,然后执行查询。

A)我意识到显示的GridView字段是String类型,但GridView也知道底层数据源值是什么类型(对于特定的GridView列)?

*因此,如果数据源将使用一堆整数填充GridView,那么这些整数必须转换为字符串,然后才能在GridView中显示。哪个控件将执行转换,GridView或ObjectDataSource / SqlDataSource控件?

B)无论GridView或ObjectDataSource是否执行转换,如何执行转换?只需在对象上调用ToString()即可?

感谢名单

2 个答案:

答案 0 :(得分:1)

格式化(包括转换)由GridView完成。您可以通过查看每列DataFormatString属性来查看。这使用一般的.NET复合格式,例如参见string.Format()或Console.Writeline()。它默认为ToString()。但DataFormatString将接受日期时间列的dd-mm-yyyy。

答案 1 :(得分:1)

来自绑定列控件的代码(通过反射器):

 if (this.formatting.Length == 0)
 {
     return dataValue.ToString();
 }
 return string.Format(CultureInfo.CurrentCulture, this.formatting, new object[] { dataValue });
  • this.formatting:格式字符串, 是Henk解释的。
  • dataValue:一个对象变量 是绑定属性的值