我创建了一个程序,用于以编程方式将数据从数据库检索到数据网格视图。一切正常。然后,我将按钮列添加到了数据网格视图,并为此编写了按钮处理事件。该按钮显示在网格视图中,但是当我单击它时,什么也没有发生。
数据网格视图
下面是我的源代码:
private void TesterHome_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source= LAPTOP-J70EHC58 ; Initial Catalog= Defect_Management_system ; Integrated Security = True ; Connect Timeout = 30 ; ");
SqlDataAdapter adapter = new SqlDataAdapter();
string sqlstmt = "SELECT * FROM defect";
DataSet dataSet = new DataSet();
try
{
con.Open();
adapter = new SqlDataAdapter(sqlstmt, con);
adapter.Fill(dataSet);
con.Close();
dgvTester.DataSource = dataSet.Tables[0];
}
catch (Exception error)
{
MessageBox.Show(error + "Invalid");
}
DataGridViewButtonColumn dgvbtnColumn = new DataGridViewButtonColumn();
dgvTester.Columns.Add(dgvbtnColumn);
dgvbtnColumn.HeaderText = "";
dgvbtnColumn.Text = "View";
dgvbtnColumn.Name = "dgvBtn";
dgvbtnColumn.UseColumnTextForButtonValue = true;
}
private void dgvTester_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
{
QA review form qa = new QA review form();
qa.show();
}
}
此表具有一个状态列。我想根据状态自定义按钮。
例如
如果状态为新,则单击查看按钮以打开新缺陷 表单。
如果状态为打开,则单击查看按钮以打开质量检查评论 表格。
如果状态是已分配,则单击查看按钮可打开 d eveloper审核表。
如果状态为重复,推迟和推迟,则 点击查看按钮,打开重新打开表单。