Который день мучаюсь с казалось бы элементарной проблемой: выделить столбец по клику мыши.
Пока что сделал через сабклассинг: отнаследовался от DataGridTextBoxColumn, переопределил метод Paint.
Каждый раз при нажатии мыши меняю DataGridTableStyle (ставлю свой DataGridColumnStyle выделенному столбцу, для остальных делаю DataGridTextBoxColumn).
Столбец выделяется медленно, сбрасывается положение прокрутки и ширина колонки.
Может быть есть более лучший способ?
Re: Выделить столбец в DataGrid (System.Windows.Forms.DataGr
Здравствуйте, i_n_s_a_n_e, Вы писали:
___>Который день мучаюсь с казалось бы элементарной проблемой: выделить столбец по клику мыши.
___>Пока что сделал через сабклассинг: отнаследовался от DataGridTextBoxColumn, переопределил метод Paint. ___>Каждый раз при нажатии мыши меняю DataGridTableStyle (ставлю свой DataGridColumnStyle выделенному столбцу, для остальных делаю DataGridTextBoxColumn).
___>Столбец выделяется медленно, сбрасывается положение прокрутки и ширина колонки.
___>Может быть есть более лучший способ?
Неужели никому не приходилось выделять столбец? Или все пользуются какими то другими контролами???
Re[2]: Выделить столбец в DataGrid (System.Windows.Forms.Dat
* Use the SelectedColumns property. To enable users to select columns, you must set the SelectionMode property to FullColumnSelect or ColumnHeaderSelect.
C# Copy Code
private void selectedColumnsButton_Click(object sender, System.EventArgs e)
{
Int32 selectedColumnCount = dataGridView1.Columns
.GetColumnCount(DataGridViewElementStates.Selected);
if (selectedColumnCount > 0)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < selectedColumnCount; i++)
{
sb.Append("Column: ");
sb.Append(dataGridView1.SelectedColumns[i].Index
.ToString());
sb.Append(Environment.NewLine);
}
sb.Append("Total: " + selectedColumnCount.ToString());
MessageBox.Show(sb.ToString(), "Selected Columns");
}
}
Оно?
Re[3]: Выделить столбец в DataGrid (System.Windows.Forms.Dat
Здравствуйте, i_n_s_a_n_e, Вы писали:
___>Который день мучаюсь с казалось бы элементарной проблемой: выделить столбец по клику мыши.
___>Пока что сделал через сабклассинг: отнаследовался от DataGridTextBoxColumn, переопределил метод Paint. ___>Каждый раз при нажатии мыши меняю DataGridTableStyle (ставлю свой DataGridColumnStyle выделенному столбцу, для остальных делаю DataGridTextBoxColumn).
___>Столбец выделяется медленно, сбрасывается положение прокрутки и ширина колонки.
___>Может быть есть более лучший способ?