2017-09-14 49 views
0

我有一个xtragrid,我填充并有2个未绑定的列。一切工作正常,除非我去过滤列,正确的过滤器弹出显示,但当我双击一个值我得到一个nullreference异常。我设法找到异常的位置,它在我的方法CustomColumnUnboundData中,我尝试从当前行获取当前对象,并且该对象为null。你可以帮我吗?我究竟做错了什么 ? e.ListSourceRowIndex或GetRow()似乎不适用于过滤...devexpress - winforms中 - xtragrid - 过滤未绑定的列数据抛出NullReference异常

 private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e) 
    { 
     GridView gridView = (GridView)sender; 

     int dataSourceIndex = e.ListSourceRowIndex; 

     Person person = (Person)gridView.GetRow(dataSourceIndex); 

     if (e.Column.FieldName == "name" && e.IsGetData) 
     { 
      e.Value = person.PersonKey.Name; 
     } 

     if (e.Column.FieldName == "surname" && e.IsGetData) 
     { 
      e.Value = person.PersonKey.Surname; 
     } 
    } 

回答

0

已解决。

private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e) 
     { 
      GridView gridView = (GridView)sender; 

      Person person = e.Row as Person; 
//... 
}