Datagrid将单元格视为布尔值:使用类似于MS Outlook Meeting Scheduler的Datagridview

时间:2015-03-11 13:19:39

标签: c# winforms datagrid

我正在尝试开发类似于Outlook会议安排事项的时间表(从互联网附加的图片)。我有几天作为行和时间作为列。我试图在Datagrid视图中使用单元格,这样当用户选择对应于日期和时间的单元格时,我通过此选择输入(没有任何内容显示在单元格中,我只想使用选定的单元格作为我的输入)。我已将列声明为布尔类型,以便所选单元格对应True并且未选中为False。

   foreach (DataGridViewColumn column in this.dataGridView1.Columns)
        {
            column.ValueType = typeof(Boolean);
        }

但是我不知道如何继续这个,因为我刚刚声明并且没有初始化布尔单元格。我正在寻找一种初始化细胞的方法,使得细胞中不会出现文本[空白细胞将在选择时突出显示],我可以根据选择/不选择细胞来获取输入。enter image description here

1 个答案:

答案 0 :(得分:0)

由于您希望选定的单元格作为输入,因此您可以使用DataGridView.SelectedCellsdocs here)。从返回的集合中,您可以获取每个选定单元格的行和列,在您的情况下,它将映射到日期和时间。

以下是一个例子:

private void button1_Click(object sender, EventArgs e)
{
    DataGridViewSelectedCellCollection cells = this.dataGridView1.SelectedCells;

    foreach (DataGridViewTextBoxCell cell in cells)
    {
        Console.WriteLine("Selected cell: column: {0}  row: {1}", cell.ColumnIndex, cell.RowIndex);
    }
}

在第三列中选择了几个单元格时的输出:

  

选定单元格:列:2行:2
  选定的单元格:列:2行:1