c# navigationPane、navigationPage设置可选择列显示
·
实现效果


1. 添加 navigationPane。只绑定一个navigationPage

设置“showExpandButton” 可以隐藏全屏显示



2. 用代码向其中加入checkedit控件
private void LoadColumsSelect()
{
foreach (GridBand band in bandedGridView1.Bands)
{
foreach (BandedGridColumn column in band.Columns)
{
if (column.Name== "姓名")
{
continue;
}
else if (column.Name == "性别")
{
continue;
}
else if (column.Name == "年龄")
{
continue;
}
else if (column.Name == "住址")
{
continue;
}
else
{
CheckEdit checkEdit = new CheckEdit();
checkEdit.Text = column.Name;
checkEdit.Properties.GlyphAlignment = DevExpress.Utils.HorzAlignment.Far;
checkEdit.Dock = DockStyle.Bottom;
checkEdit.Checked = true;
checkEdit.Properties.FullFocusRect = true;
checkEdit.TabIndex = column.AbsoluteIndex;
checkEdit.CheckedChanged += new EventHandler(checkEditCheckedChanged);
navigationPage1.Controls.Add(checkEdit);
}
}
}
}
private void checkEditCheckedChanged(object sender, EventArgs e)
{
CheckEdit checkEdit = sender as CheckEdit;
int checkEditIndex = checkEdit.TabIndex;
if (checkEdit.Checked)
{
bandedGridView1.Columns[checkEditIndex].VisibleIndex = checkEditIndex;
bandedGridView1.Columns[checkEditIndex].Visible = true;
}
else
{
bandedGridView1.Columns[checkEditIndex].Visible = false;
}
}
或者
private void Load()
{
for (int i = gridView.Columns.Count - 1; i >= 0; i--)
{
gridView.Columns[i].Visible = false;
CheckEdit checkEdit = new CheckEdit();
checkEdit.Text = gridView.Columns[i].GetTextCaption();
checkEdit.Checked=true;
checkEdit.Properties.GlyphAlignment = DevExpress.Utils.HorzAlignment.Far;
checkEdit.Dock = DockStyle.Top;
checkEdit.Properties.FullFocusRect = true;
checkEdit.TabIndex = gridView.Columns[i].AbsoluteIndex;
checkEdit.CheckedChanged += new EventHandler(checkEditCheckedChanged);
navigationPage.Controls.Add(checkEdit);
}
}
private void checkEditCheckedChanged(object sender, EventArgs e)
{
CheckEdit checkEdit = sender as CheckEdit;
int checkEditIndex = checkEdit.TabIndex;
if (checkEdit.Checked)
{
gridView.Columns[checkEditIndex].VisibleIndex = checkEditIndex;
gridView.Columns[checkEditIndex].Visible = true;
}
else
{
gridView.Columns[checkEditIndex].Visible = false;
}
}
更多推荐



所有评论(0)