【发布时间】:2012-10-26 18:02:53
【问题描述】:
在我的数据网格视图中,我有一些列是read only,所以我给出了一些颜色。
当我预先加载包含只读列的所有列的 DGV 时。
当用户点击普通视图时,我只想显示普通的可编辑列并隐藏只读列和颜色。
我正在使用 Telerik 并使用 radgrid。
我尝试了以下方法,但它不起作用。有没有更好的方法来做到这一点?谢谢。
private void normalToolStripMenuItem_Click(object sender, EventArgs e)//Normal View
{
DTURradGridView.Columns[2].IsVisible = false;
DTURradGridView.Columns[3].IsVisible = false;
DTURradGridView.Columns[4].IsVisible = false;
DTURradGridView.Columns[5].IsVisible = false;
DTURradGridView.Columns[7].IsVisible = false;
DTURradGridView.Columns[11].IsVisible = false;
DTURradGridView.Columns[2].ReadOnly = false;
DTURradGridView.Columns[3].ReadOnly = false;
DTURradGridView.Columns[4].ReadOnly = false;
DTURradGridView.Columns[5].ReadOnly = false;
DTURradGridView.Columns[7].ReadOnly = false;
DTURradGridView.Columns[11].ReadOnly = false;
DTURradGridView.CellFormatting -= DTURradGridView_CellFormatting;
}
private void advancedToolStripMenuItem_Click(object sender, EventArgs e) //Advanced View
{
DTURradGridView.Columns[2].IsVisible = true;
DTURradGridView.Columns[3].IsVisible = true;
DTURradGridView.Columns[4].IsVisible = true;
DTURradGridView.Columns[5].IsVisible = true;
DTURradGridView.Columns[7].IsVisible = true;
DTURradGridView.Columns[11].IsVisible = true;
DTURradGridView.Columns[2].ReadOnly = true;
DTURradGridView.Columns[3].ReadOnly = true;
DTURradGridView.Columns[4].ReadOnly = true;
DTURradGridView.Columns[5].ReadOnly = true;
DTURradGridView.Columns[7].ReadOnly = true;
DTURradGridView.Columns[11].ReadOnly = true;
DTURradGridView.CellFormatting += DTURradGridView_CellFormatting;
}
private void DTURradGridView_CellFormatting(object sender, CellFormattingEventArgs e)
{
if (e.CellElement.ColumnIndex != 2 && e.CellElement.ColumnIndex != 3 && e.CellElement.ColumnIndex != 4
&& e.CellElement.ColumnIndex != 5 && e.CellElement.ColumnIndex != 7 && e.CellElement.ColumnIndex != 11) return;
e.CellElement.DrawFill = true;
e.CellElement.NumberOfColors = 1;
e.CellElement.BackColor = Color.LightSlateGray;
e.CellElement.GradientStyle = GradientStyles.Linear;
}
当我单击普通视图时,我看到 col 索引 2、3、4、5 的颜色。所以 -= 不起作用。
【问题讨论】:
-
你得到了什么结果?
-
在普通模式下,我看到了非只读列的颜色。
标签: c# winforms datagridview telerik-grid