[Devexpresss] Right Button Context Menu On BandedGrid

2020. 2. 7. 09:48Development/Winform

BendedGrid

-- PopUpMenu Add
-- PopUpMenu Customize Click
-- PopUp Menu Editor Item Add, name setting(ex, btnOpneFile)
-- PopUp Menu Editor Item Visible = Never

/* grid_MouseDown Event */
GridView view = sender as GridView;
if (view == null) return;

BandedGridHitInfo hitInfoBand = gridView.CalcHitInfo(e.Location);
if (hitInfoBand != null && hitInfoBand.HitTest == BandedGridHitTest.Band)
{
if (e.Button == MouseButtons.Right)
{
bandFieldName = hitInfoBand.Band.Columns[0].FieldName;
barBtnFilter.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
barBtnCommunication.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
barButtonFILEOPEN.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
pmMenu.ShowPopup(Cursor.Position);
}
else if (hitInfoBand.HitTest == BandedGridHitTest.FilterCloseButton)
{
FilterList = new List();
FilterColumn = "";
gridView.ActiveFilterString = "";
}
}
else
{
GridHitInfo hitInfo = view.CalcHitInfo(e.X, e.Y);
if ((hitInfo.InRowCell || hitInfo.InRow) && hitInfo.Column != null && e.Button == MouseButtons.Right
&& (hitInfo.Column.FieldName.Equals("Column Name"))
)
{
barBtnFilter.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
barBtnCommunication.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
barButtonFILEOPEN.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
pmMenu.ShowPopup(Cursor.Position);
}
else if (hitInfo.InRowCell || hitInfo.InRow)
{
startSelect = true;
StartRowHandle = GetRowAt(sender as GridView, e.X, e.Y);
}
else if (hitInfo.HitTest == GridHitTest.FilterPanelCloseButton)
{
FilterList = new List();
FilterColumn = "";
gridView.ActiveFilterString = "";
}
}
/* gbarButton ItemClick Event */
private void barButtonFILEOPEN_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (gridView.GetSelectedRows().Count() == 1)
{
SingleDown();
}
else if (gridView.GetSelectedRows().Count() > 1)
{
MultyDown();
}
}