方法 : DataRepeater コントロールでデータを検索する (Visual Studio)
大量のレコードが含まれる DataRepeater コントロールを使用しているとき、ユーザーが特定のレコードを検索できるようにすることが必要になる場合があります。コントロール自体でデータを検索するのではなく、基になる BindingSource にクエリを実行することで検索を実装できます。項目が見つかったら、CurrentItemIndex プロパティを使用してその項目を選択し、スクロールして表示できます。
検索を実装するには
DataRepeater コントロールを含んでいるフォームに、ツールボックスから TextBox コントロールをドラッグします。
[プロパティ] ウィンドウで、Name プロパティを SearchTextBox に変更します。
DataRepeater コントロールを含んでいるフォームに、ツールボックスから Button コントロールをドラッグします。
[プロパティ] ウィンドウで、Name プロパティを SearchButton に変更します。Text プロパティを Search に変更します。
Button コントロールをダブルクリックしてコード エディターを開き、SearchButton_Click イベント ハンドラーに次のコードを追加します。
Private Sub SearchButton_Click() Handles SearchButton.Click Dim foundIndex As Integer Dim searchString As String searchString = SearchTextBox.Text foundIndex = ProductsBindingSource.Find("ProductID", searchString) If foundIndex > -1 Then DataRepeater1.CurrentItemIndex = foundIndex Else MsgBox("Item " & searchString & " not found.") End If End Sub
private void searchButton_Click(System.Object sender, System.EventArgs e) { int foundIndex; string searchString; searchString = searchTextBox.Text; foundIndex = productsBindingSource.Find("ProductID", searchString); if (foundIndex > -1) { dataRepeater1.CurrentItemIndex = foundIndex; } else { MessageBox.Show("Item " + searchString + " not found."); } }
ProductsBindingSource を DataRepeater の BindingSource の名前で置き換え、ProductID を検索するフィールドの名前で置き換えます。
参照
処理手順
DataRepeater コントロールのトラブルシューティング (Visual Studio)
方法 : DataRepeater コントロールの外観を変更する (Visual Studio)