Hi
My code to change the back color of all the selected cells is working fine but It can not change the border color of all the selected cells of the grid. What I am doing wrong?
Here is my code:
private void dtgCpr_ViewCellFormatting(object sender, CellFormattingEventArgs e)
{
e.CellElement.DrawBorder = true;
if (e.CellElement.IsSelected)
{
e.CellElement.BorderColor = Color.Red;
e.CellElement.BackColor = Color.SeaShell;
}
}
Thanks
Regards
6 Answers, 1 is accepted
0

Richard Slade
Top achievements
Rank 2
answered on 24 Jan 2011, 12:39 PM
Hi Michael,
For the selected border colour, the following code is enough to change it when the cell is selected.
hope that helps
Richard
For the selected border colour, the following code is enough to change it when the cell is selected.
private
void
radGridView1_ViewCellFormatting(
object
sender, CellFormattingEventArgs e)
{
e.CellElement.DrawBorder =
true
;
e.CellElement.BorderColor = Color.Red;
}
hope that helps
Richard
0

Zerka
Top achievements
Rank 1
answered on 24 Jan 2011, 01:21 PM
Hi Richard,
Actually my grid has MultiSelect = true and SelectionMode = CellSelect. So user can select multiple cells at a time. But the my code and yours code is changing the border color of just first cell. How can I change the border color of all selected cells?
But backcolor of cell is working fine and it is changing color for all selected cells.
Reagrds
Actually my grid has MultiSelect = true and SelectionMode = CellSelect. So user can select multiple cells at a time. But the my code and yours code is changing the border color of just first cell. How can I change the border color of all selected cells?
But backcolor of cell is working fine and it is changing color for all selected cells.
Reagrds
0

Richard Slade
Top achievements
Rank 2
answered on 24 Jan 2011, 02:18 PM
Hi again,
Ok, I see. In that case, please can you add the following instead.
You might also want to consider using the CellFormatting event rather than ViewCellFormatting as ViewCellFormatting fires for all cells, and not just data cells.
Hope that helps
Richard
Ok, I see. In that case, please can you add the following instead.
e.CellElement.BorderColor = Color.Red;
if
(e.CellElement.IsSelected)
{
e.CellElement.BorderBoxStyle = BorderBoxStyle.SingleBorder;
}
else
{
e.CellElement.BorderBoxStyle = BorderBoxStyle.FourBorders;
}
You might also want to consider using the CellFormatting event rather than ViewCellFormatting as ViewCellFormatting fires for all cells, and not just data cells.
Hope that helps
Richard
0

Zerka
Top achievements
Rank 1
answered on 25 Jan 2011, 09:15 AM
Hi Richard,
Your code is working fine if user selects multiple cells through keyboard. But it is not working if user selects multiple cells with mouse. In this case only few cells are changing border color. Can you please help me about that?
Thanks
Regards
Your code is working fine if user selects multiple cells through keyboard. But it is not working if user selects multiple cells with mouse. In this case only few cells are changing border color. Can you please help me about that?
Thanks
Regards
0
Accepted

Richard Slade
Top achievements
Rank 2
answered on 25 Jan 2011, 10:26 AM
Hi Michael,
Please can you try this
Thanks
Richard
Please can you try this
e.CellElement.BorderColor = Color.Red;
if
(e.CellElement.IsSelected)
{
e.CellElement.BorderBoxStyle = BorderBoxStyle.SingleBorder;
e.CellElement.BorderGradientStyle = GradientStyles.Solid;
e.CellElement.BorderWidth = 2;
}
else
{
e.CellElement.BorderBoxStyle = BorderBoxStyle.FourBorders;
}
Thanks
Richard
0

Zerka
Top achievements
Rank 1
answered on 25 Jan 2011, 10:55 AM
Thanks! It works.
Regards
Regards