2015-02-23 76 views
0

我想在我的Datagrid中找到搜索方法。我通過數據綁定來填充數據網格。C#在Datagrid中搜索

 <Grid Name="Grid_Kind" Background="#FFFFAF00"> 
    <DataGrid x:Name="DataGridKind" ItemsSource="{Binding}" AutoGenerateColumns="False" Margin="0,21,0,166"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Binding="{Binding Path=KindID}" Header="ID" Width="Auto" /> 
      <DataGridTextColumn Binding="{Binding Path=VNaam}" Header="Voornaam" Width="Auto" /> 
      <DataGridTextColumn Binding="{Binding Path=ANaam}" Header="Achternaam" Width="Auto" /> 
      <DataGridTextColumn Binding="{Binding Path=Straat}" Header="Straat" Width="Auto" /> 
      <DataGridTextColumn Binding="{Binding Path=Huisnummer}" Header="Huisnummer" Width="Auto" /> 
      <DataGridTextColumn Binding="{Binding Path=Plaats}" Header="Plaats" Width="Auto" /> 
      <DataGridTextColumn Binding="{Binding Path=Postcode}" Header="Postcode" Width="Auto" /> 
     </DataGrid.Columns> 
    </DataGrid> 
    <TextBox Height="23" HorizontalAlignment="Left" Name="txtSearch" VerticalAlignment="Top" Width="695" Loaded="txtSearch_Loaded" Text="Zoeken" GotFocus="txtSearch_GotFocus" /> 

那XAML中我走到這一步,

,這是C#的一部分

dsKind KindDataSet = new dsKind(); 
    dsKindTableAdapters.KindTableAdapter KindTableAdapter = new dsKindTableAdapters.KindTableAdapter(); 

    private void FillData() 
    { 
     KindTableAdapter.Fill(KindDataSet.Kind); 
     this.DataContext = KindDataSet.Kind.DefaultView; 
    } 

    private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     FillData(); 
    } 
+0

你在尋找什麼? – 2015-02-23 15:14:47

+0

什麼問題? – tnw 2015-02-23 15:18:15

+0

datagridview的搜索方法(很抱歉,如果它不清楚) – Tim 2015-02-24 14:17:20

回答

0

我用這個代碼作爲一個快速搜索選項,其中tsbSearch是ToolStripButton和tsTxtSearch是一個ToolStripTextBox。

對於DataGridView使用BindingSource時,通過按下文本框中的Enter或Return鍵後,按描述(NMS_Description),LongDescription(LongDesc)和位置(LOCATION)自動搜索。

private void tsbSearch_Click(object sender, EventArgs e) 
    { 
     if (tstxtSearch.Text.Length > 0) 
     { 
      this.nEAR_MISSBindingSource.Filter = "NMS_Description LIKE '*" + tstxtSearch.Text + "*' OR LongDesc LIKE '*" + tstxtSearch.Text + "*' OR LOCATION LIKE '*" + tstxtSearch.Text + "*'"; 
     } 
     else 
     { 
      this.nEAR_MISSBindingSource.Filter = ""; 
     } 
    } 

    private void tstxtSearch_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (e.KeyChar == (char)Keys.Return || e.KeyChar == (char)Keys.Enter) 
     { 
      tsbSearch_Click(sender, e); 
     } 
    } 

希望這會有所幫助。

+0

非常感謝你的反應,但你從哪裏得到nEAR_MISSBindingSource? – Tim 2015-02-24 14:33:09