有没有办法通过引用行ID来选择DataGrid行?
我正在通过以下代码以编程方式选择DataGrid,
public static void GetFocusOfSelectedRow(DataGrid datagrid)
{
object oItem = datagrid.Items[0];
datagrid.SelectedItem = oItem;
datagrid.ScrollIntoView(oItem);
}
这只是选择DataGrid中的第一行。
我希望能够使用主键指定要选择的行。即,说一行的主键ID为123456
。我如何通过LINQ或其他方式获取ID为123456
的行索引号?
答案 0 :(得分:1)
您必须将商品集合转换为您知道其具有要过滤的属性的类型集合。
尝试
public static void GetFocusOfSelectedRow(DataGrid datagrid)
{
ItemCollection items = datagrid.Items;
List<SomeType> collection = new List<SomeType>();
foreach (var item in items)
{
SomeType obj = item as SomeType ;
if(obj != null)
collection.Add(obj);
}
SomeType result = collection.Where(a => a.SomeProperty == SomeValue)
.FirstOrDefault();
datagrid.SelectedItem = result;
datagrid.ScrollIntoView(result);
}