datagridview的链接cellcontent点击不工作
我使用这个代码,以使我的专栏(取从DataTable中的数据库)作为linkcolumndatagridview的链接cellcontent点击不工作
编辑:
void show_visits() {
try
{
con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sonorepo.mdb");
con.Open();
}
catch (Exception err)
{
MessageBox.Show("Error:" + err);
}
this.pid = Convert.ToInt32(db.GetPatientID(cmbPatientName.SelectedItem.ToString()));
cmd1 = new OleDbCommand("Select Patient_ID,VisitNo,VisitDate,remark from Patient_Visit_Details WHERE Patient_ID=" + pid, con);
dt = new DataTable();
adp1 = new OleDbDataAdapter(cmd1);
adp1.Fill(dt);
this.dataGridViewVisits.DataSource = dt;
foreach (DataGridViewRow row in dataGridViewVisits.Rows)
{
DataGridViewLinkCell linkCell = new DataGridViewLinkCell();
linkCell.Value = row.Cells[2].Value;
row.Cells[2] = linkCell;
}
this.dataGridViewVisits.CellContentClick+=new DataGridViewCellEventHandler(this.CellContentClick);
}
,我使用下面的代码打开当我点击本专栏的任何链接(内容链接)时,我的表单没有被触发,我在哪里做错了?
private void CellContentClick(object sender, DataGridViewCellEventArgs e) {
if (e.RowIndex >= 0 && ((DataGridView)sender).Columns[e.ColumnIndex].GetType() == typeof(DataGridViewLinkColumn))
{
int pid = Convert.ToInt32(dataGridViewVisits.Rows[e.RowIndex].Cells["Patient_ID"].Value);
ViewR viewrepofrm = new ViewR(pid);
viewrepofrm.MdiParent = this.ParentForm;
viewrepofrm.Show();
}
}
回答:
将列添加到DataGridView
时,将设置列的类型。我知道您依靠默认类型(TextBoxColumn
)添加列,并且这在第一个代码中没有更改(您正在将单元格转换为DataGridViewLinkCell
,而不是列)。因此,您的代码应与以下修改工作:
private void CellContentClick(object sender, DataGridViewCellEventArgs e) {
if (e.RowIndex >= 0 && ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].GetType() == typeof(DataGridViewLinkCell))
{
int pid = Convert.ToInt32(dataGridViewVisits.Rows[e.RowIndex].Cells["Patient_ID"].Value);
ViewR viewrepofrm = new ViewR(pid);
viewrepofrm.MdiParent = this.ParentForm;
viewrepofrm.Show();
}
}
在任何情况下,请记住,那种你正在做的细胞类型的修改是不是100%保存在所有的情况。如果您从DataSource
填充DataGridView
,并且您只执行一次单元格类型更改,则可以(最快/最简单的选项);在任何其他情况下(您必须手动添加列),在添加列时,应该在开始时更好地设置给定列的类型(在这种情况下为DataGridViewLinkColumn
)。
以上是 datagridview的链接cellcontent点击不工作 的全部内容, 来源链接: utcz.com/qa/266737.html