首页 新闻 搜索 专区 学院

DataGrid绑定数据问题

0
悬赏园豆:20 [已解决问题] 解决于 2010-04-15 14:56

一个DataGrid的Itemsource绑定了一个List<User>,

并Bing了User的所有列,

但User中有一个字段为string[]  str,

怎么控制DataGrid显示这个数组为str[0];str[1];str[2]......

Xiongpq的主页 Xiongpq | 初学一级 | 园豆:93
提问于:2010-04-01 20:42
< >
分享
最佳答案
0

对于显示要自定义化的话,可以加上一个实现IValueConverter接口的类,实现

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo info)
        {
            if (value != null)
            {
                DateTime date = (DateTime)value;
                return date.ToString("yyyy-MM-dd ");
            }
            return null;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo info)
        {
            return null;   //如果只是显示,return   null就可以了。
        }

它们是用来在显示在UI上之前或写入源之前的方法。至于你要的方式,自己在对应的方法中Foreach一下就可以了。

      由于应用到实现的接口的类,所以要在对应的资源中增加

     <kit:DataGrid.Resources>
                <DateConvert:DateConverter x:Key="myDateConverter"/>
            </kit:DataGrid.Resources>

最后在绑定的地方如:Binding="{Binding Path=FEndTime,Converter={StaticResource myDateConverter}}"即可。

如果还不清楚的话直接MSDN中找IValueConverter

收获园豆:20
hackenliu | 小虾三级 |园豆:600 | 2010-04-07 17:11
谢谢你了,我最后也是用的这种方式实现的: http://topic.csdn.net/u/20100401/20/33e8b1e9-ec3f-4923-b86c-f981a0e2be2d.html?1555291017
Xiongpq | 园豆:93 (初学一级) | 2010-04-07 17:40
其他回答(1)
0

双击GridView的OnRowDataBound事件;
在后台的GridView1_RowDataBound() 方法添加代码,最后代码如下所示:
 

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            
            User user = e.Row.DataItem as User; //取得绑定的基础对象
            String[] str = user.Str;//取得数组
            StringBuilder sb = new StringBuilder();
            foreach(string s in str)
                sb.Append(s+" ");
            e.Row.Cells[2].Text = sb.ToString();
        }
    }

小丁 | 园豆:301 (菜鸟二级) | 2010-04-02 09:16
DataGridRow 没有Cells 这个属性。
支持(0) 反对(0) Xiongpq | 园豆:93 (初学一级) | 2010-04-02 16:08
而且也没有OnRowDataBound事件
支持(0) 反对(0) Xiongpq | 园豆:93 (初学一级) | 2010-04-07 16:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册