2017-01-31 16 views
0

У меня есть radgridview, ошибка возникает, когда пользователь нажимает на ячейку, не нажимая на texblock, datacontext не передается. Текущий cellinfo всегда равен нулю. Когда текстовый блок попадает, он возвращает значение.radgridview wpf telerik current cell value is null

Я попытался сделать код ниже, и я получаю значения всех ячеек в строке, где я выбрал btu, я не смог определить индекс ячейки, которую я только что выбрал. Как я могу получить значение ячейки или хотя бы индекс столбца в выбранной строке?

<telerik:RadGridView x:Name="myGrid" SelectionMode="Extended"> 
    <telerik:RadGridView.LayoutTransform> 
     <ScaleTransform ScaleX="1" ScaleY="1"/> 
    </telerik:RadGridView.LayoutTransform> 
</telerik:RadGridView> 

Я к нему доступ с помощью кода: код ниже работает, но так как я получаю первый и перерыв в цикле, он всегда получает первую ячейку/столбец. Я не знаю, чтобы сказать, что код должен получить значение ячейки accdg SelectedIndex

var item = myGrid.InputHitTest(point) as DependencyObject; 

var test1 = EnumerateParents(item).OfType<Border>(); 

var test2 = test1.Select(c => c.DataContext).ToList(); 
var isbreak = false; 

foreach (var t in test2) { 
    foreach (var c in t.CastTo<IEnumerable>()) { 
     if (c is tableCell) { 
      rightClickItem = c.CastTo<tableCell)>(); 
      isbreak = true; 
      break; 
     } 
    } 
    if (isbreak) break; 
} 

ответ

0

Try обработки события SelectedCellsChanged на вашем GridView с чем-то вроде этого:

private void gridView_SelectedCellsChanged(object sender, GridViewSelectedCellsChangedEventArgs e) 
    { 
     if (e.AddedCells != null && e.AddedCells.Count > 0) 
     { 
      foreach (GridViewCellInfo cellInfo in e.AddedCells) 
      { 
       // do stuff 
      } 
     } 
    }