Telerik RadGridView grouping

本文关键字:grouping RadGridView Telerik | 更新日期: 2023-09-27 18:20:46

我的Winforms应用程序中有RadGridView,我想对我的文件进行分组,所以我使用这个:

RadGridView radGridView1;
DataTable table = null;
radGridView1.ShowColumnHeaders = false;
radGridView1.ShowGroupPanel = false;
radGridView1.ShowRowHeaderColumn = false;
radGridView1.AllowAddNewRow = false;
radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
radGridView1.GroupDescriptors.Add(new Telerik.WinControls.Data.GroupDescriptor("File"));
private void AddFile(string file)
{
    table = new DataTable();
    table.Columns.Add("Protocol", typeof(string));
    table.Columns.Add("Property Value1", typeof(string));
    table.Columns.Add("File", typeof(string));
    table.Rows.Add("File size:", "", file);
    table.Rows.Add("File duration:", "",  file);
    table.Rows.Add("Creation time:", "", file);
    radGridView1.DataSource = table;
}

我的问题是,在第一个文件被选择并添加到下一个文件之后,什么都没有发生,我认为这是因为表中我已经有了相同的A列名。

Telerik RadGridView grouping

您应该创建DataTable并执行一次Column.Add(),现在您正在为每个文件创建一个新表,每次都替换旧表。

它应该是这样的:

RadGridView radGridView1;
DataTable table = new DataTable();
table.Columns.Add("Protocol", typeof(string));
table.Columns.Add("Property Value1", typeof(string));
table.Columns.Add("File", typeof(string));
radGridView1.ShowColumnHeaders = false;
radGridView1.ShowGroupPanel = false;
radGridView1.ShowRowHeaderColumn = false;
radGridView1.AllowAddNewRow = false;
radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
radGridView1.GroupDescriptors.Add(new Telerik.WinControls.Data.GroupDescriptor("File"));
radGridView1.DataSource = table;
private void AddFile(string file)
{
    table.Rows.Add("File size:", "", file);
    table.Rows.Add("File duration:", "",  file);
    table.Rows.Add("Creation time:", "", file);
}