我正在開發新內容,我需要一個詳細的答案,我很抱歉我的英語不好...... 我會盡我所能解釋自己。 。 我有2代表在MySQLc#使用DataGridView中的組合框修改Mysql中的單元格
table1: id_ticket , ticket_description, ticket_status(id_status)
table2 : id_statu , status_name
在我的應用程序裏面使用table1的所有信息填寫一個DataGridView,也是我添加了一個組合框列,從表2的組合框顯示「status_name」,我想用包含在組合框中的信息修改ticket_status,我該怎麼做?
這是我的代碼:
public void CreateAssignedToMe(string ConnString)
{
string assignedTo = textBoxUid.Text;
string query = "SELECT * FROM reports WHERE ticket_assignee='"+assignedTo+"' AND ticket_resolution < 3;";
AssignToMe = new AssignedToMe();
AssignToMe.ConnString = ConnString;
DataGridView dgvReports = AssignToMe.dataGridViewAssignedToMe;
try
{
MySqlConnection conn = new MySqlConnection(ConnString);
conn.Open();
MySqlDataAdapter daUsers = new MySqlDataAdapter(query,ConnString);
DataSet dsUsers = new DataSet();
daUsers.Fill(dsUsers,"report");
dgvReports.DataSource = dsUsers;
dgvReports.DataMember = "report";
dgvReports.AllowUserToAddRows = false;
dgvReports.AllowUserToDeleteRows = false;
dgvReports.Columns["ticket_departmentResponsive"].Visible = false;
dgvReports.Columns["ticket_assignee"].Visible = false;
string queryStatus = "SELECT * FROM status";
MySqlDataAdapter daStatus = new MySqlDataAdapter(queryStatus, ConnString);
DataSet dsStatus = new DataSet();
MySqlCommandBuilder builder = new MySqlCommandBuilder(daStatus);
daStatus.Fill(dsStatus, "Resolution");
daStatus.UpdateCommand = builder.GetUpdateCommand();
DataGridViewComboBoxColumn cbbox = new DataGridViewComboBoxColumn();
BindingSource StatusBindingSource = new BindingSource();
StatusBindingSource.DataSource = dsStatus;
StatusBindingSource.DataMember = "Resolution";
cbbox.HeaderText = "Resolution";
cbbox.DropDownWidth = 90;
cbbox.DataSource = StatusBindingSource;
cbbox.DisplayMember = "status_name";
dgvReports.Columns.Add(cbbox);
AssignToMe.ShowDialog();
}
catch(MySqlException ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
我不能發表圖片:(
我認爲我必須使用類似於EventHandler的東西,但我不知道該怎麼做,或者可能使用按鈕來更新信息,但我如何才能獲得組合框的指定行改性? – 2013-03-03 13:38:19