![](/img/trans.png)
[英]C# WPF Select in DataGrid the first row with pressing Enter from a Textbox
[英]WPF DataGrid select row with value from textbox
在我的應用程序中,我想選擇dataGrid1中在“訂單”列中具有實際存儲在textBox中的值的行。 如何以編程方式選擇行(不會有兩個具有相同編號的行)?
命名您的DataGrid,以便后面代碼中的代碼可以訪問它。 在文本框中,訂閱KeyUp
或LostFocus
事件,然后找到與文本框中的內容匹配的對象。
示例列表包含具有唯一OrderId的訂單
XAML
<DataGrid AutoGenerateColumns="True"
Name="myGrid"
ItemsSource="{Binding Orders}"/>
<TextBox x:Name="tbSelection"
KeyUp="tbSelection_LostFocus"/>
代碼隱藏
private void tbSelection_LostFocus(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(tbSelection.Text) == false)
{
int userOrderId;
if (int.TryParse(tbSelection.Text, out userOrderId))
{
var orders = myGrid.ItemsSource as List<Order>;
var order = orders.FirstOrDefault(ord => ord.OrderId == userOrderId);
if (order != null)
myGrid.SelectedItem = order;
else
myGrid.SelectedIndex = -1; // Default to nothing.
}
else
myGrid.SelectedIndex = -1; // Default to nothing.
}
}
結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.