Datagridview的Multiselect属性现在选择完整行

时间:2014-03-20 17:55:22

标签: c# datagridview

我有一个具有datagridview的窗体。在这个datagridview中,我动态添加两列,如下面的代码所示。我的问题是,当我点击这些添加的列时,Multiselect属性不是选择完整行,但是当我点击网格的第一列时,它选择了完整的行。

 if (gvlayoutload.Columns.Count == 0)
                {
                    DataGridViewTextBoxColumn comboBoxColumnRInfo =
                          new DataGridViewTextBoxColumn();

                    comboBoxColumnRInfo.Name = "RowInfo";
                    comboBoxColumnRInfo.HeaderText = "";
                    comboBoxColumnRInfo.DataPropertyName = "RowInfo";
                    comboBoxColumnRInfo.ReadOnly = true;
                    comboBoxColumnRInfo.Width = 25;
                    comboBoxColumnRInfo.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    //comboBoxColumnRInfo.Frozen = true;
                    this.gvlayoutload.Columns.Add(comboBoxColumnRInfo);

                    DataGridViewTextBoxColumn comboBoxColumn =
                          new DataGridViewTextBoxColumn();

                    comboBoxColumn.HeaderText = "Row #";
                    comboBoxColumn.DataPropertyName = "RowNo";
                    comboBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
                    comboBoxColumn.Width = 45;
                    comboBoxColumn.FillWeight = 45;
                    //comboBoxColumn.Frozen = true;
                    FRColumn col = new FRColumn();
                    col.Name = comboBoxColumn.HeaderText;
                    col.Type = 1;
                    col.Variable1 = variable1;
                    col.Variable2 = variable2;
                    col.Percent = Percent;
                    col.Rowno = Rowno;
                    col.Headersize = 8;
                    col.Bodysize = 8;
                    col.HeaderAlign = 0;
                    col.BodyAlign = 0;
                    lstcolumn.Add(col);
                    this.gvlayoutload.Columns.Add(comboBoxColumn);

当我点击RowInfo列或Row#列Multiselect属性未选择完整行时。我已将multiselect属性设置为true,多选模式为fullrowmode。

1 个答案:

答案 0 :(得分:0)

DataGridView.SelectionMode属性指示如何选择DataGridView的单元格。默认值为RowHeaderSelect。此MSDN链接中描述了每种模式的行为。

DataGridView中的第一列包含行标题。如果您在此列中选择任何单元格,则会在SelectionModeRowHeaderSelectFullRowSelect时选择整行。

如果要选择多行,请设置DataGridView.MultiSelect = true

您还可以通过设置DataGridView.RowHeadersVisible = false隐藏该列。