日期:2014-05-18  浏览次数:20812 次

关于“Silverlight”下“DataGrid控件”的疑问
关于“Silverlight”下“DataGrid控件”的疑问。

  问题一:

  “Silverlight”下“DataGrid控件”不可以后台添加行吗???  

  可以后台添加列:dg_Report.Columns.Add()

   
  没有后台添加行的“Rows”集合的操作,也没有“Items”,怎么后台添加???


  问题二:就像“Asp.net”中的“GridView”一样合并“列和行”,可以吗??? 有实例可以参考吗???

   

  问题三:“Silverlight Toolkit”下有没有类似“Asp.net”下“Table”的控件???

------解决方案--------------------
刚刚好有类似问题,同问
------解决方案--------------------
问题一:
DataGrid确实不能手动添加行,在DataGrid中一行是一个DataGridRow对象,DataGridRow会根据显示的行数来生成和复用,换句话说就是页面上显示几行就有几个DataGridRow,而不是由DataGrid数据的条数决定的
问题二:
ASP.Net中GridView本质上是html的table,table可以合并单元格;DataGrid是由DataGridRow和DataGridCell组成,目前还没有发现如何实现单元格合并
问题三:
ASP.Net本质上是些html,Silverlight与其去区别很大,本质上更像winform
------解决方案--------------------
DataGrid是数据绑定控件,她绑定一个实现了 observablecollection<T> 接口的集合的话,那么它就跟数据模型“共同进退”,你在DataGrid上增加一行则数据集合也增加一行,你在数据集合上增加一行则DataGrid也增加一行。

Silverlgiht最基本、最常用、最强大的布局控件就是Grid。这跟asp.net中使用Table作为最基本、最强大的布局控件,是一个道理。
------解决方案--------------------
一般布局都用Grid。当然要视情况而定。StackPanel,Canvas,DockPanel等分别适用于不同的情况。