Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 哪个控件执行类型转换:GridView还是数据源控件?_C#_.net_Asp.net_Ado.net - Fatal编程技术网

C# 哪个控件执行类型转换:GridView还是数据源控件?

C# 哪个控件执行类型转换:GridView还是数据源控件?,c#,.net,asp.net,ado.net,C#,.net,Asp.net,Ado.net,假设我们将GridView数据绑定到ObjectDataSource控件,然后执行查询 A) 我知道显示的GridView字段是String类型的,但是GridView是否也知道底层数据源值是什么类型的(对于特定的GridView列)? *因此,若数据源将用一堆整数填充GridView,那个么这些整数必须先转换为字符串,然后才能在GridView中显示。哪个控件将执行转换,GridView还是ObjectDataSource/SqlDataSource控件? B) 无论是GridView还是

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

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

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

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


thanx

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

以下是绑定列控件的代码(通过反射器):

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