关于sql:C# WPF 在数据表中间添加一个新的空白行

C# WPF Add a new blank row in the middle of a datatable

我的数据库中有一个表,指示"集合点"。我有一个 MA 和 Hours 专栏。
MA 的列用于指示是上午还是下午:1 或 2,1 表示上午,2 表示下午。 (我无法更改数据库)。

这是一个结果示例:

1
2
3
4
5
6
Hours | MA |Name
10:00:00 | 1 | Robert
10:30:00 | 1 | Jane
11:15:00 | 1 | John
14:00:00 | 2 | Stewart
14:15:00 | 2 | Elton

我把它放在一个数据表中:

1
dt = myCon.SelectDataTable(query);

然后我将它绑定到列表中:

1
lstGCCCandidatCreneau.ItemsSource = dt.DefaultView;

但在此之前,我想在上午和下午之间插入一个空白行。我想在列表中显示这样的内容:

1
2
3
4
5
6
7
Hours | MA |Name
10:00:00 | 1 | Robert
10:30:00 | 1 | Jane
11:15:00 | 1 | John

14:00:00 | 2 | Stewart
14:15:00 | 2 | Elton

我可以请你帮忙吗?

非常感谢。

亚历克斯


可能你不想添加一个空行,而只是在列表框中使用分组。
您可以在此处查看示例

如果你想在其他地方使用它可能会导致很多其他问题!!!


查看此链接

1
2
3
4
        DataTable dt = SampleData();
        int i = dt.Rows.Cast<DataRow>().TakeWhile(dr => dr != null && dr[1].ToString() !="2").Count();
        DataRow toInsert = dt.NewRow();
        dt.Rows.InsertAt(toInsert, i);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public DataTable SampleData()
        {
            DataTable dt=new DataTable();
            dt.Columns.Add("Hours",typeof(string));
            dt.Columns.Add("MA",typeof(string));
            dt.Columns.Add("Name",typeof(string));
            dt.Rows.Add(new object[] {@"10:00:00", 1,"Robert"});
            dt.Rows.Add(new object[] {@"10:30:00", 1,"Jane"});
            dt.Rows.Add(new object[] {@"11:15:00", 1,"John"});
            dt.Rows.Add(new object[] {@"14:00:00", 2,"Stewart"});
            dt.Rows.Add(new object[] {@"14:15:00", 2,"Elton"});
            return dt;

        }