ここでは、バインディング ソース生成コードに DGV をバインドしています。
// dgvDocumentList
//
this.dgvDocumentList.AllowUserToAddRows = false;
this.dgvDocumentList.AllowUserToDeleteRows = false;
this.dgvDocumentList.AutoGenerateColumns = false;
this.dgvDocumentList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvDocumentList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dMTitleDataGridViewTextBoxColumn,
this.urlCol,
this.idCol});
this.dgvDocumentList.DataSource = this.docListFetchBindingSource;
this.dgvDocumentList.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvDocumentList.Location = new System.Drawing.Point(3, 3);
this.dgvDocumentList.MultiSelect = false;
this.dgvDocumentList.Name = "dgvDocumentList";
this.dgvDocumentList.ReadOnly = true;
this.dgvDocumentList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgvDocumentList.Size = new System.Drawing.Size(336, 493);
this.dgvDocumentList.TabIndex = 0;
this.dgvDocumentList.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDocumentList_CellContentDoubleClick);
this.dgvDocumentList.SelectionChanged += new System.EventHandler(this.dgvDocumentList_SelectionChanged);
列コードはこちらです。
// dCBModLinkDataGridViewTextBoxColumn
//
this.dCBModLinkDataGridViewTextBoxColumn.DataPropertyName = "DCBModLink";
this.dCBModLinkDataGridViewTextBoxColumn.HeaderText = "DCBModLink";
this.dCBModLinkDataGridViewTextBoxColumn.Name = "dCBModLinkDataGridViewTextBoxColumn";
this.dCBModLinkDataGridViewTextBoxColumn.ReadOnly = true;
this.dCBModLinkDataGridViewTextBoxColumn.Visible = false;
//
// dCBIDDataGridViewTextBoxColumn
//
this.dCBIDDataGridViewTextBoxColumn.DataPropertyName = "DCBID";
this.dCBIDDataGridViewTextBoxColumn.HeaderText = "DCBID";
this.dCBIDDataGridViewTextBoxColumn.Name = "dCBIDDataGridViewTextBoxColumn";
this.dCBIDDataGridViewTextBoxColumn.ReadOnly = true;
this.dCBIDDataGridViewTextBoxColumn.Visible = false;
//
// eQModModelNumberDataGridViewTextBoxColumn
//
this.eQModModelNumberDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.eQModModelNumberDataGridViewTextBoxColumn.DataPropertyName = "EQModModelNumber";
this.eQModModelNumberDataGridViewTextBoxColumn.HeaderText = "Model Number";
this.eQModModelNumberDataGridViewTextBoxColumn.Name = "eQModModelNumberDataGridViewTextBoxCol
ご覧のとおり、dcbModLinkDataGridViewTextBoxColumn の列定義には visble = false; と書かれています。これは、プロパティ テーブルにも記載されています。実行時にアプリケーションに表示されます。
リスト内の列の位置を変更すると、次の結果が得られます。列リストに表示される順序以外は変更されていません。
DCBID(可視)--DCBModLink(不可視)--EQModModelNumber(可視)
DCBModLink(可視)--DCBID(不可視)--EQModModelNumber(可視)
EQModModelNumber(可視)--EQModModelNumber(不可視)--DCBID(不可視)
最初のスロットに必要な列を残すことで、この問題の症状を隠しましたが、この特定の DGV がこのように動作する理由がわかりません。同じフォームに、列の位置に関係なく正常に機能する別の DGV があります。
私はここを見ました:最初の列は datagridview に隠れていません、ここでdatagridview id 列は非表示になりません しかし、彼らは私がしたように問題のある列を右に移動しました。
そう。私の質問は。
可視性パラメーターをオーバーライドできる、私が認識していない他の設定はありますか?
他の誰かがこれを見たことがありますか?どうやって止めましたか?