WPF Datagrid刷新数据

时间:2009-11-23 17:03:57

标签: wpf datagrid refresh

我使用以下代码将arraylist绑定到datagrid

//fill datagrid
    public DataTable configData
    {
        get
        {
            DataSet dsTemp = new DataSet();
            DataTable Tables = new DataTable();
            dsTemp.Tables.Add(Tables);

            dsTemp.Tables[0].Columns.Add("val", System.Type.GetType(
            "System.String" ) );

            foreach (string str in IMDB.ML.Class.Config.getReadPaths())
            {
                if (str != string.Empty)
                {
                    DataRow myRow = dsTemp.Tables[0].NewRow();
                    myRow[0] = str;
                    dsTemp.Tables[0].Rows.Add(myRow);
                }
            }
            return dsTemp.Tables[0];
        }
    }

但是,在向列表添加一些新数据后,我需要能够刷新数据。

datagrid.Items.Refresh()不起作用......

谢谢!

1 个答案:

答案 0 :(得分:2)

首先,返回一个DataTable,而不是一个ArrayList。 第二,如果您使用DataView,您的网格将在数据更新时更新...

//fill datagrid
    public ICollectionView configData
    {
        get
        {
            DataTable table = new DataTable();

            table.Columns.Add("val", typeof(string) );

            foreach (string str in IMDB.ML.Class.Config.getReadPaths())
            {
                if ( !string.IsNullOrEmpty( str ) )
                {
                    DataRow myRow = table.NewRow();
                    myRow["val"] = str;
                    table.Rows.Add(myRow);
                }
            }
            return CollectionViewSource.GetDefaultView( dsTemp.Tables[0] )        
        }
    }