【问题标题】:Multiselect property of Datagridview now selecting full rowDatagridview 的多选属性现在选择整行
【发布时间】:2014-03-20 17:55:22
【问题描述】:

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

 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 # 列时,多选属性未选中整行。我已将多选属性设置为 true,并且多选模式为全行模式。

【问题讨论】:

    标签: c# datagridview


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多