質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.06%

[C#]DataGridView、行ヘッダーを非表示にするとセルの最下位部分に余剰の領域ができる

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 210

添付画像のように、ヘッダーを非表示にしたことで、1行分の背景領域が表示されてしまいます。
本行を削除したいのですが、方法ございませんでしょうか?

ご教授のほどお願いしたいです。

![イメージ説明](e86b23b2a48193b2eb66a182344d82b8.png)

【DataGridViewの設定】
※関連あると思われるのを提示してます。

[DataGridViewオブジェクト].RowHeadersVisible = false;
[DataGridViewオブジェクト].ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
[DataGridViewオブジェクト].AlternatingRowsDefaultCellStyle =  System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));

【試したこと】
DataGridViewのヘッダーセルの高さを「0」に設定する
→エラー発生

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kazuhiro_ikeda

    2020/06/08 14:19

    ご回答ありがとうございます!

    >Zuishin
     7つ表示されていて、最下位(グレー部分)が見えるように表示しました(わかりずらく申し訳ないです…)。
     本件、以下の用に「スライドバーの幅」を広げたため、dataGridViewで表示されているスライドバーと
     別物です。
     
     https://teratail.com/questions/204664
     
     こちらにはスライドバーの「Maximum」を設定(表示画面のケースでは7)しているため、
     可動域にはこれ以上稼働できないような表示になっています。
     
    > YAmaGNZ
     現在ヘッダーは、行、列ともに表示したくないので「RowHeadersVisible」、「ColumnHeadersVisible」はともにfalseで設定しています。
     
     行ヘッダーに非表示設定をしているためご指摘の通り、見出し文が上に詰まって「空白」が表示されているのかな?
     と思っています。
     
     これの回避方法を知りたくご連絡した次第です。
     →説明不足していて申し訳ありません。。。

    キャンセル

  • Zuishin

    2020/06/08 14:24

    よくわかりませんが、とにかくデータが 7 つ入っている DataGridView の一番下のデータの入っている行の色が違うということですか?

    スタイルもかなり怪しげですが、ここにも何か特殊なものを使っていますか?

    キャンセル

  • YAmaGNZ

    2020/06/08 14:31

    DataGridViewの大きさを変更してぴったり納まるようにすればいいのでは?

    キャンセル

回答 2

check解決した方法

0

【前提】
dataGridViewは別の部品の上に表示している
[上位側の部品].Controls.Add(dataGridView)

【対応内容】
dataGridViewにて、
・ヘッダーを表示する
dataGridView.ColumnHeadersVisible = true;
 
・dataGridViewの表示開始位置を、y軸のマイナス方向にずらす
this.GuideGrid.Location = new System.Drawing.Point(0, [マイナスヘッダーのサイズ]);
   
と対応することで、
行ヘッダーを非表示にすることで表示されたグレー(背景色)の領域は、上位側のコントロールの非表示部分に隠れました。

本改修を加えることで対応できましたので本質問はクローズとしたいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/08/01 18:28

    解決されたそうでなによりです。
    「行ヘッダ」と「列ヘッダ」の違いは理解されたのでしょうか?
    また表示位置をずらす対応なのであれば、サイズ変更の対応でもできそうです。

    キャンセル

0

おっしゃる通り、行ではなく背景の色なので
DataGridViewがその高さで、行数が6行である限り仕方ないような気がします。
グリッドの高さを変えるか、BackgroundColorプロパティで、違和感のない背景色に
設定するくらいしか思いつかないです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.06%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • C#に関する質問
  • [C#]DataGridView、行ヘッダーを非表示にするとセルの最下位部分に余剰の領域ができる