我正在使用devExpress gridview,我想获取/设置索引我拥有的任何行的行高。例如,我有一个包含50条记录的gridview,我想增加我点击的任何行的高度。我可以在单击但无法设置行高的情况下获取rowindex。 我正在使用devExpress 13 for windows form application。
答案 0 :(得分:2)
要完成此任务,请将以下帮助程序类添加到项目中:
public class GridRowZoomHelper
{
public GridView GridView { get; set; }
public int ZoomedRowHeight { get; set; }
private int _ZoomedRowHandle;
public int ZoomedRowHandle
{
get
{
return _ZoomedRowHandle;
}
set
{
if (_ZoomedRowHandle == value)
return;
var prevValue = _ZoomedRowHandle;
_ZoomedRowHandle = value;
OnZoomedRowHandleChanged(prevValue, value);
}
}
public GridRowZoomHelper(GridView gridView)
{
GridView = gridView;
ZoomedRowHeight = 60;
ZoomedRowHandle = GridControl.InvalidRowHandle;
GridView.RowClick += GridView_RowClick;
GridView.CalcRowHeight += GridView_CalcRowHeight;
GridView.ShownEditor += GridView_ShownEditor;
}
void GridView_ShownEditor(object sender, EventArgs e)
{
ZoomedRowHandle = GridView.FocusedRowHandle;
}
void GridView_CalcRowHeight(object sender, RowHeightEventArgs e)
{
if (e.RowHandle == ZoomedRowHandle)
e.RowHeight = ZoomedRowHeight;
}
void GridView_RowClick(object sender, RowClickEventArgs e)
{
ZoomedRowHandle = e.RowHandle;
}
private void OnZoomedRowHandleChanged(int prevValue, int value)
{
GridView.RefreshData();
}
}
然后,按以下方式注册:
new GridRowZoomHelper(gridView1).ZoomedRowHeight = 60;
因此,单击一行将自动增加其高度: