エンジニアの転職を支援するFEnetインフラのテックブログ。ネットワークなどのITインフラ情報を中心に発信中。

  1. FEnetインフラ
  2. FEnetテックマガジン
  3. テクノロジー
  4. DataGridViewの使い方4つ|行の追加や削除の方法を解説

DataGridViewの使い方4つ|行の追加や削除の方法を解説

  • テクノロジー
  • プログラミング
公開日時:   更新日時:
DataGridViewの使い方4つ|行の追加や削除の方法を解説
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    DataGridViewとは?


    DataGridViewは、.NET Frameworkで利用できるクラスで、このクラスを使ってデータ入力可能なグリッドを表示し、データの入出力ができます。

    VB.NETやC#などで利用でき、成績表や売上表など、表形式で表示するとわかりやすいデータの入出力に適したコントロールです。クラス化されているので、個々のデータを取得し処理するコード記述も簡単に実装できます。
     

     

    DataGridViewの使い方4つ


    DataGridViewは一覧表形式でデータ表示する場面で使いたいクラスです。Excelの表を思い浮かべてみるとDataGridViewの実装後イメージがつかめるでしょう。

    ここでは、実際にDataGridViewを実装する際の使い方を、順を追って紹介します。「グリッド」のイメージが浮かばない人は、Excelを思い浮かべながら参照してください。

    DataGridViewの使い方1:フォームに追加

    DataGridViewはユーザーが利用する画面に配置します。実装上は、フォームにDataGridViewを追加することになります。

    DataGridViewをフォームに追加する手順は、開発言語がVB.netかC#か、利用するツールのバージョンによって異なることがあります。

    いずれの場合もフォームを作成した後、メニュー「ツールボックス」からDataGridViewを選択し、配置します。

    DataGridViewの使い方2:初期値の設定

    フォーム上にDataGridViewを追加したら、画面表示時に表示される「初期値」を設定します。初期値にはDataGridViewの列名も含まれます。

    初期値はフォームのコードを開き、「Load」イベント内に1カラムずつコードで記述します。列名は、「フォーム名.Columns(x).HeaderText = “x列目の名称”」で定義できます。

    DataGridViewの使い方3:列数・行数の指定

    DataGridViewに何列・何行表示するのかを「Load」イベントにコード記述します。

    ここで指定する行数には列タイトルで使用する1行を含める必要はありません。DataGridViewの列数と行数は以下のようにコード記述します。列と行は初期設定に対し、あとで追加・削除できます。

    例)5列×3行の表定義
    フォーム名.ColumnCount = 5
    フォーム名.RowCount = 3

    DataGridViewの使い方4:表示

    DataGridViewの初期設定が一通り終わったら、実際の表示がどうなるのか確認してみましょう。DataGridViewがどう動作するのか確認する方法として、プログラムを実行する方法とデバッグモードで実行する方法があります。

    デバッグモードを使えば、記述したコードが1行ずつ実行されていく結果も確認可能です。初期設定を確認できたところで、実行を停止することもできます。

    DataGridViewをつかいこなす方法4つ


    DataGridViewの初期設定が終わり、体裁の確認までできたら、このDataGridViewをさらに使いこなして使いやすい画面を作ってみましょう。

    ここでは、初期設定で定義したDataGridViewの行数を変更する方法や表形式のデータ閲覧に便利なソートの方法、検索方法を紹介します。作成するDataGridViewで表示するデータの種類に応じてこれらの機能も盛り込んでおきましょう。

    方法1:行を追加する

    初期設定で定義した行数に対し、プログラムの実行過程で表示すべき行数が増えることがあります。DataGridViewではAddメソッドを使って行を追加できます。

    Addメソッドによる行追加には、以下の3つの方法があります。
    ・1行追加:F1.Rows.Add()
    ・複数行追加:F1.Rows.Add(追加する行数)
    ・データと行を追加:F1.Rows.Add(“1列目の値”, “2列目の値”);

    行を追加するときの注意点

    Addメソッドを使って行追加をする際は、データバインドと一緒に使うことができないので注意が必要です。

    プログラムの中で、DataGridViewに他のテーブルからデータ移送(バインド)している場合、データバインドの後で行を追加してさらにデータ要素を増やすコード記述をするとエラーになります。

    データバインドした場合、DataGridViewの行数はバインド元のテーブルと同じ行数になり、追加はできません。

    方法2:ソートする

    DataGridViewでソートを行う場合、コード記述の必要はなく、ソートキーとなる列名をクリックするごとに「昇順/降順」ソートが行われます。

    この機能では、複合条件によるソートはできないので、複合条件のソートが必要な場合は、プログラムコードを書かなければなりません。

    方法3:行を削除する

    行の追加と対の機能になるのが削除機能です。行削除は、「フォーム名.Rows.RemoveAt(行番号)」とコード記述します。

    フォームを表示すると、指定された行番号の行が削除され、次の行番号以降のデータが1行上に詰める形で結果表示されます。

    方法4:検索する

    DataGridView内のデータを検索する場合は、検索キーワードをもとにDataGridView内をループ処理で検索する方法とLINQを使う方法があります。

    LINQを使う場合は、DataGridViewのデータをDataTableに格納し、AsEnumerableメソッドを利用します。その後、条件をWhereオペレータで指定すると該当する値が検索されます。

    DataGridViewのカラムを非表示にする方法


    DataGridViewに表示したくない値はデータとして取得しない、カラムに値をセットしない、という対応も可能です。

    プログラム処理のキー項目のように、利用者にとっては必要ない項目でもプログラムには必要になる項目は、DataGridViewのカラム単位で非表示にできます。

    例)
    F1.Columns[“非表示にしたいカラム名”].Visible = false;

    カラム名を変更するには?

    DataaGridViewを追加したときに、初期設定としてカラム名を設定しました。いったん設定されたカラム名を変更する際は、変更前のカラム名を変更後のカラム名に設定しなおすコードを記述します。

    例えば「変更前」という名称のカラム名を「更新前」に変更する場合は、以下のように記述します。

    コード記述例)
    F1.Columns[“変更前”].HeaderText = “更新前”;

    DataSourceの使い方


    DataGridViewにデータを表示する方法として、1セルまたは1行ずつプログラム内で値をセットする方法のほか、DataSourceプロパティを使ってデータを一気にセットする方法もあります。

    LIST型やDataTable型のテーブルに値を順次設定していき、データをセットし終わった段階で、DataGridViewのDataSourceプロパティに移送します。

    例)
    F1.DataSource = SampleData;

    DataTableの使い方

    DataGridViewのDataSourceプロパティにデータを一気に移送するときに使えるデータ型がDataTableです。

    DataTableクラスは列や行、データの操作がしやすいので、DataGridViewで検索やソートを行う場合は、プログラム内部でDataTableクラスにデータをセットして実施します。

    データ・バインディング

    データ・バインディングとは簡単にいえばデータとデータを結びつける機能です。UIのようなビューロジックと、複雑なプログラムを実行するビジネスロジックを容易に切り分けるためにも活用されます。

    データ・バインディングはマイクロソフト社の.NET Framework に組み込まれており、ビューとビューモデルを結びつける役割を担っています。

    DataGridViewを使ってみよう


    システムを使って入出力を行う場合、一覧形式でデータを扱う方がわかりやすく使いやすい業務もたくさんあります。複数のデータを見ながら並行して入力したい場合は、DataGridViewを積極的に活用しましょう。

    プログラムとしての扱いも難しくなく、簡単なコード記述で、ユーザーに便利なUIを提供できます。
     

     

    FEnet経験者優遇! 最短10秒!

    FEnetを運営しているネプラス株式会社はサービス開始から10年以上
    『エンジニアの生涯価値の向上』をミッションに掲げ、
    多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
    ネプラス株式会社ロゴ

    ネプラス株式会社はこんな会社です

    秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • インフラ業界に特化

      インフラ業界に特化

      ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。

      業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。

    • 正社員なのにフリーランスのような働き方

      正社員なのにフリーランスのような働き方

      正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。

      プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。

    • 大手直取引の高額案件

      大手直取引の高額案件

      案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。

      Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。

    • スキルアップ支援

      スキルアップ支援

      不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。

      受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など

      ※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。

    • 現給与を保証します!

      100%現給与保証

      前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。

      ※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。

    • インセンティブ制度

      インセンティブ制度

      ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。

      取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。

    • 社会保険・福利厚生

      社会保険・福利厚生

      社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。

      さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    ネプラス株式会社に興味を持った方へ

    ネプラス株式会社では、インフラエンジニアを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    ネプラス株式会社へのご応募はこちら↓
    ネプラス株式会社へのご応募はこちら↓

    C#新着案件New Job

    人気記事Popular Posts