2017-10-31 11 views
5

各セルのデータが正しく整列しようとしていますが、1つの列の内容が他の列と並んでいません。なぜ私はすべてのデフォルトのスタイルや他のレイアウト/外観のオプションを見て、何も普通のものではないので、これがなぜであるかわからない。これが役立つかどうかは分かりませんが、デバッグモードで実行されているプログラムのスクリーンショットがあります。DataGridviewの列セルの値が他のものと揃っていない

enter image description here

これは、いくつかの理由でオフになっているだけで、email列です。私はそれが必要な場合は、より多くの情報を提供してみることができます。

おかげ

は、私はそれは本当にイライラさせられると、私には意味がありません並べるための休息を得たが、それでも電子メール列

enter image description here

とのトラブルを抱えています。デザイナーコードを見てみると便利でしょうか?もし必要なら私はそれを提供することができます。

アップデート -

私は、各DGV上の4列目(電子メール)を気づきました。 4列目を除いてすべてが他の行になります。何か案は?

アップデート2 - ここで

は、InitializeComponentメソッド内のDataGridViewのためにあるコードは次のとおりです。

// 
// dataGridView 
// 
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 
dataGridViewCellStyle1.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; 
this.dataGridView.AutoGenerateColumns = false; 
this.dataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; 
this.dataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; 
this.dataGridView.BackgroundColor = System.Drawing.Color.White; 
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; 
dataGridViewCellStyle2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; 
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; 
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; 
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; 
this.dataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { 
this.idDataGridViewTextBoxColumn, 
this.firstnameDataGridViewTextBoxColumn, 
this.lastnameDataGridViewTextBoxColumn, 
this.phonenumberDataGridViewTextBoxColumn, 
this.emailaddressDataGridViewTextBoxColumn, 
this.birthdayDataGridViewTextBoxColumn, 
this.addressDataGridViewTextBoxColumn, 
this.marriedDataGridViewTextBoxColumn}); 
this.dataGridView.DataSource = this.headsBindingSource; 
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; 
dataGridViewCellStyle3.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; 
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; 
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText; 
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.DefaultCellStyle = dataGridViewCellStyle3; 
this.dataGridView.GridColor = System.Drawing.Color.Black; 
this.dataGridView.Location = new System.Drawing.Point(20, 63); 
this.dataGridView.Name = "dataGridView"; 
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; 
dataGridViewCellStyle4.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; 
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; 
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; 
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; 
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 
dataGridViewCellStyle5.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.RowsDefaultCellStyle = dataGridViewCellStyle5; 
this.dataGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 
this.dataGridView.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
this.dataGridView.RowTemplate.DefaultCellStyle.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.True; 
this.dataGridView.Size = new System.Drawing.Size(1028, 426); 
this.dataGridView.TabIndex = 0; 
this.dataGridView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView_KeyDown); 

と電子メール列(4列目)

// emailaddressDataGridViewTextBoxColumn 
// 
this.emailaddressDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; 
this.emailaddressDataGridViewTextBoxColumn.DataPropertyName = "email_address"; 
this.emailaddressDataGridViewTextBoxColumn.HeaderText = "email_address"; 
this.emailaddressDataGridViewTextBoxColumn.Name = "emailaddressDataGridViewTextBoxColumn"; 
this.emailaddressDataGridViewTextBoxColumn.Width = 125; 
// 

私は置きますDropboxの全ソリューション、誰でもダウンロードしてチェックできると大いに感謝します - https://www.dropbox.com/s/bh5if8b04eshpo9/QBC%20Members.zip?dl=0

+0

DPIの設定に関する問題があり、コントロールのレンダリングがうまくいかないようです。問題が継続するかどうかを確認するためにDPIを通常に設定してみてください – NicoRiff

+0

これはビジュアルスタジオのどこにありますか? – user2101411

+0

私はこれに似たプロジェクトを持っていて、これをしなかったので。 – user2101411

答えて

1

ローの自動サイズ設定をfalseに設定してパディングを追加し、アラインメントの問題を修正しました。正確には私が望んでいたものではありませんが、それはします。

0

てみてください:

this.dataGridView1.Columns["Email"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; 

とヘッダーのために:

this.dataGridView1.Columns[4].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft; 

は、この情報がお役に立てば幸いです。

+0

試してみました:( – user2101411

+0

悲しいことに聞こえませんでしたが、あなたのdatagridviewプロパティを確認してください –

+0

私はそれらをすべてチェックし、それらは同じものです(中央左)。何が起こっているのかわかりません。 – user2101411

関連する問題