1.问题描述:在GridView中不同行绑定不同控件,如第一行绑定Text文本框,第二行绑定下拉控件SearchLookUpEdit;
当然要使用到GridView事件:
事件是:CustomRowCellEditForEditing
代码如下:
private void GridView_CustomRowCellEditForEditing(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
{
DevExpress.XtraGrid.Views.Base.ColumnView view = (DevExpress.XtraGrid.Views.Base.ColumnView)sender;
var value = view.GetFocusedRowCellValue("value") as string;
switch (e.Column.FieldName)
{
case "value1":
case "value2":
if (value.Equals("第一行"))
{
e.RepositoryItem = repositoryItemLookUpEdit;
}
else
{
e.RepositoryItem = repositoryItemTextEdit;
}
break;
}
}
解析代码:
1. var value = view.GetFocusedRowCellValue("value") as string;
获取当前行的FileName为“value”的值;
2.switch (e.Column.FieldName) {};
根据每一行的FileName为value的值是什么,去判断每一行所需要绑定的控件;
3.case "value1":case "value2":
根据列的FieldName去判断那一列需要绑定什么控件?
4.e.RepositoryItem = 绑定的控件;
这一段就是所需要绑定的控件
效果图:
第一行为下拉:
第二行为Text: