C#WPF在数据表的中间添加一个新的空行

时间:2014-10-09 07:59:25

标签: c# sql wpf datatable

我的数据库中有一个表格,表示" rendez-vous"。我有一个MA和Hours列。 MA的列用于表示它是早上还是下午:1或2,1早上1,下午2。 (我无法更改数据库)。

以下是结果示例:

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

我把它放在数据表中:

dt = myCon.SelectDataTable(query);

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

lstGCCCandidatCreneau.ItemsSource = dt.DefaultView;

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

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

请帮助我吗?

非常感谢。

亚历

2 个答案:

答案 0 :(得分:3)

可能你不想添加一个空行,只需在列表框中使用分组。 您可以看到示例here

如果你想在别处使用它,可能会引起很多其他问题!!!

答案 1 :(得分:0)

选中此link

        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);

        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;

        }