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

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

新規登録して質問してみよう
ただいま回答率
85.48%
DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

2回答

2882閲覧

DataGridViewの幅を自動調節したいです.

inupii

総合スコア9

DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

0グッド

0クリップ

投稿2018/10/25 14:09

前提・実現したいこと

ただいま,簡単な稼働監視アプリを作成中です. その中で,SQLiteのDBの値を,DataGeidViewに表示する場面があります.
そこまではできているのですが,長い文字列を表示するときに,その長い文字列が全部収まるよう,自動でセルの幅が大きくなるよう
処理を変更したいのですが,うまくできず困っています.下の写真の日時の部分にて,途切れてしまうのではなく,最初からすべて
表示されるようなセルのサイズに自動調節させたいということです.

イメージ説明

発生している問題・エラーメッセージ

以下がプログラムとなります. try if ifの部分は大変長いので,一部割愛させていただいています.

該当のソースコード

C#

1 2 if (File.Exists(path) == false) 3 { 4 using (SQLiteConnection con = new SQLiteConnection("Data Source=" + path)) 5 { 6 using (SQLiteCommand com = con.CreateCommand()) 7 { 8 con.Open(); 9 10 com.CommandText = "CREATE TABLE Error (シリアルNo INTEGER, 日時 NVARCHAR(50),場所 NVARCHAR(10), コメント NVARCHAR(30) )"; 11 com.ExecuteNonQuery(); 12 } 13 } 14 } 15 16 using (SQLiteConnection con = new SQLiteConnection("Data Source=" + path)) 17 using (SQLiteCommand com = con.CreateCommand()) 18 { 19 con.Open(); 20 try 21 { 22 if (int.TryParse(stdOut, out int i)) // PAT1の測定結果を表示 23 { 24 if (i == 0) 25 { 26 com.CommandText = "INSERT INTO Error (シリアルNo,日時,場所,コメント) VALUES (1000,'" + stdOut5 + "','PatLite1','エラーだぞ!')"; 27 com.ExecuteNonQuery(); 28 } 29 30private DataTable dataTable = new DataTable(); 31 32 protected override void OnLoad(EventArgs e) 33 { 34 dataGridView1.DataSource = dataTable; 35 base.OnLoad(e); 36 } 37 38 private void LogButton_Click(object sender, EventArgs e) 39 { 40 using (SQLiteConnection con = new SQLiteConnection("Data Source=" + path)) 41 using (SQLiteDataAdapter adapter = new SQLiteDataAdapter("SELECT * FROM Error", con)) 42 { 43 adapter.Fill(dataTable); 44 } 45 } 46

試したこと

プロパティにもそれらを設定するような場所はなさそうで困っています.

補足情報(FW/ツールのバージョンなど)

Visual Studio2017 C#

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

投稿2018/10/25 14:57

YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんなのできませんでした?

//ヘッダーとすべてのセルの内容に合わせて、列の幅を自動調整する
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

//ヘッダーとすべてのセルの内容に合わせて、行の高さを自動調整する
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

参考
https://dobon.net/vb/dotnet/datagridview/autosizecolumn.html

投稿2018/10/26 03:15

akirafudo6

総合スコア341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問