您的位置:首页 > 其它

DevExpress GridControl 按扭列的操作

2015-04-21 15:43 381 查看
为Winform 中的DevExpress GridControl某列添加按扭列,定义全局变量

RepositoryItemButtonEdit m_OperateFoodBtn = new RepositoryItemButtonEdit();
RepositoryItemButtonEdit m_OperateClothBtn = new RepositoryItemButtonEdit();

设置相关属性方法

private void SetEditBtn(RepositoryItemButtonEdit btn, string caption)

{
btn.Buttons[0].Kind = ButtonPredefines.Glyph;
btn.Buttons[0].Caption = caption;
btn.ButtonsStyle = BorderStyles.Simple;
btn.TextEditStyle = TextEditStyles.HideTextEditor;
}
在加载时设置属性

protect override OnLoad(EventArgs e)
{
SetEditBtn(m_OperateFoodBtn,"试吃");
SetEditBtn(m_OperateClothBtn ,"试穿");
}

注册GridView的gridView_CustomRowCellEdit事件

private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)

{
if (e.Column.FieldName != "OperateColumn")
return;
//可以根据某个值来判断用哪一按扭
DataRow row = gridView1.GetDataRow(e.RowHandle);
if (row == null)
return;
if(row["ProductType"]=="Food")
e.RepositoryItem = m_OperateFoodBtn ;
else
e.RepositoryItem = m_OperateCloseBtn ;
}

点击按扭的相关操作

private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
{
if (e.Column.FieldName != "OperateColumn")
return;
DataRow row = gridView1.GetDataRow(e.RowHandle);
if (row == null)
return;
if(row["ProductType"]=="Food")//producttype为该行的其他数据列名
//操作食品
else
//操作衣服
}

注意事项,在首次显示窗体时,要将Form的WindowState设为Normal,否则可能导致按扭不显示,原因不明,如果无此现象请略过。呵呵。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: