我想得到组合框调用dcourse的值,把它放在我的Sql选择查询中,但它不起作用。这是我的代码
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dgEdit.DataSource = dt;
DataGridViewComboBoxColumn dcourse = new DataGridViewComboBoxColumn();
dcourse.HeaderText = "Course";
dcourse.Items.Add("AT (Automotive Technology)");
dcourse.Items.Add("CPT (Computer Technology)");
dcourse.Items.Add("ELT (Electrical Technology)");
dcourse.Items.Add("ICT (Instrumentation and Control Technology)");
dgEdit.Columns.Add(dcourse);
DataGridViewComboBoxColumn dname = new DataGridViewComboBoxColumn();
dname.HeaderText = "Student Name";
conn.Open();
cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select Name from TBL_Student WHERE Course = '" +
dgEdit.CurrentRow.Cells[1].Value + "' ";
DataTable dat = new DataTable();
SqlDataAdapter dap = new SqlDataAdapter(cmd);
dap.Fill(dat);
foreach (DataRow dr in dat.Rows)
{
dname.Items.Add(dr["Name"].ToString());
}
conn.Close();
dgEdit.Columns.Add(dname);
我得到这个弹出窗口和“dgEdit.CurrentRow.Cells1.Value”这应该是dcourse
我现在可以选择我想要的单元格,但现在它不会返回任何数据
DataGridViewComboBoxColumn dname = new DataGridViewComboBoxColumn();
dname.HeaderText = "Student Name";
conn.Open();
for(int i = 0; i < dgEdit.Rows.Count; i++)
{
SqlCommand cmmd = conn.CreateCommand();
cmmd.CommandType = CommandType.Text;
cmmd.CommandText = "SELECT Name FROM TBL_Student WHERE Course = '" + dgEdit.Rows[i].Cells[1].FormattedValue + "' ";
DataTable dat = new DataTable();
SqlDataAdapter dap = new SqlDataAdapter(cmmd);
dap.Fill(dat);
foreach (DataRow dr in dat.Rows)
{
dname.Items.Add(dr["Name"].ToString());
}
}
conn.Close();
dgEdit.Columns.Add(dname);