我以编程方式创建了一个面板,该面板内部是我的 datagridview,它也是以编程方式创建的。这是一个供应商列表,我想在该 datagrdiview 上执行一个
CellDoubleClick
事件来获取其 ID,面板和数据网格视图将隐藏/关闭。我该怎么办?
DataGridView dgvSupp;
private void cbSuppID_Click(object sender, EventArgs e)
{
pGeneral.Controls.RemoveByKey("pCatHierarchy");
Panel pSupp = new Panel();
pSupp.Size = new System.Drawing.Size(239, 196);
pSupp.Location = new Point(152, 173);
pSupp.Name = "pSupplier";
pSupp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Controls.Add(pSupp);
pSupp.BringToFront();
dgvSupp = new DataGridView();
dgvSupp.AllowUserToAddRows = false;
dgvSupp.AllowUserToDeleteRows = false;
dgvSupp.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dgvSupp.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
dgvSupp.Dock = System.Windows.Forms.DockStyle.Fill;
dgvSupp.MultiSelect = false;
dgvSupp.ReadOnly = true;
dgvSupp.RowHeadersVisible = false;
dgvSupp.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
pSupp.Controls.Clear();
pSupp.Controls.Add(dgvSupp);
DataTable dt = pc.fetchRecord("VIEW", "FETCHCBSUPP", "", "", "", "", "", "");
BindingSource source = new BindingSource();
source.DataSource = dt;
dgvSupp.DataSource = source;
}
我尝试过拖放 datagridview 并单击事件属性,但它不起作用
private void dgvSupp_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow row = dgvSupp.Rows[e.RowIndex];
txtID.Text = row.Cells["Supplier ID"].Value.ToString();
}
@Olivier Jacot-Descombe 它有效。非常感谢,伙计!