如何获取表格布局中的dategrid的位置

时间:2018-01-21 22:37:31

标签: c# winforms datagridview location

我有一个Windows表单,我正在使用表格布局面板来保持表单看起来不错。 我在右下角有一个数据网格,我想找到与Windows窗体左上角相关的数据网格的位置。

我能找到的唯一位置是它与表格布局单元格的关系。

最终的计划是在选定单元格的顶部移动组合框,我可以找到选择单元格位置但由于这又与表格布局有关,因此组合框不对齐。

我最初尝试添加一个链接了组合框的新列,因为一旦运行了adaptor.Fill(),我就被告知将列转换为组合框是不可能的。 用于添加组合框的代码,这导致错误,所有行都被标记为脏,导致更新命令需要一段时间才能更新。

    if (dataGridView1.Columns.Contains("myComboColumn"))
        dataGridView1.Columns.Remove("myComboColumn")
            ; 

    // gets column index number
    int i = dataGridView1.Columns["Has the machine been replaced?"].Index;

    // Hide original column
    dataGridView1.Columns["Has the machine been replaced?"].Visible = true;
    // combo box in datagrid attempt 2

    DataGridViewComboBoxColumn cmbCol = new DataGridViewComboBoxColumn();

    cmbCol.HeaderText = dataGridView1.Columns[i].HeaderText;

    cmbCol.Name = "myComboColumn";
    cmbCol.Items.Add("Yes");
    cmbCol.Items.Add("No");

    dataGridView1.Columns.Add(cmbCol);
    //   dataGridView1.Columns["myComboColumn" + i].DisplayIndex = 0;

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        row.Cells["myComboColumn"].Value = row.Cells["Has the machine been replaced?"].Value;

    } 

0 个答案:

没有答案