我正在尝试开发类似于Outlook会议安排事项的时间表(从互联网附加的图片)。我有几天作为行和时间作为列。我试图在Datagrid视图中使用单元格,这样当用户选择对应于日期和时间的单元格时,我通过此选择输入(没有任何内容显示在单元格中,我只想使用选定的单元格作为我的输入)。我已将列声明为布尔类型,以便所选单元格对应True并且未选中为False。
foreach (DataGridViewColumn column in this.dataGridView1.Columns)
{
column.ValueType = typeof(Boolean);
}
但是我不知道如何继续这个,因为我刚刚声明并且没有初始化布尔单元格。我正在寻找一种初始化细胞的方法,使得细胞中不会出现文本[空白细胞将在选择时突出显示],我可以根据选择/不选择细胞来获取输入。
答案 0 :(得分:0)
由于您希望选定的单元格作为输入,因此您可以使用DataGridView.SelectedCells
(docs 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