DataGridView (dgv)를 어댑터에 바인딩하면 dgv에 테이블 내용이 자동으로 채워집니다. 텍스트로 표시되는 열 중 하나이지만 ComboBox로 변경하려고합니다. 대신어댑터 및 콤보 상자가있는 DataGridView
spendingsAdapter = PrepareSpendingsAdapter();
spendingsAdapter.Fill(cachedData);
dgvPointsSpent.DataSource = cachedData.Tables["spendings"];
:
MySqlDataAdapter awardsAdapter, spendingsAdapter;
DataSet cachedData = new DataSet();
MySqlDataAdapter PrepareSpendingsAdapter() {
try {
MySqlDataAdapter adapter;
adapter = new MySqlDataAdapter("select * from spendings", connection);
adapter.TableMappings.Add("Table", "spendings");
adapter.UpdateCommand = new MySqlCommand(
"UPDATE spendings SET [email protected], [email protected] WHERE [email protected];",
connection);
adapter.UpdateCommand.Parameters.Add("@id", MySqlDbType.Int32, 10, "ID");
adapter.UpdateCommand.Parameters.Add("@category", MySqlDbType.Int32, 10, "Category");
adapter.UpdateCommand.Parameters.Add("@points", MySqlDbType.Int32, 10, "Points");
adapter.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
adapter.InsertCommand = new MySqlCommand(
"INSERT INTO spendings VALUES (@id,@category,@points);",
connection);
adapter.InsertCommand.Parameters.Add("@id", MySqlDbType.Int32, 10, "ID");
adapter.InsertCommand.Parameters.Add("@category", MySqlDbType.Int32, 10, "Category");
adapter.InsertCommand.Parameters.Add("@points", MySqlDbType.Int32, 10, "Points");
adapter.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
adapter.DeleteCommand = new MySqlCommand(
"DELETE FROM spendings WHERE [email protected];", connection);
adapter.DeleteCommand.Parameters.Add("@id", MySqlDbType.Int32, 10, "ID");
adapter.DeleteCommand.UpdatedRowSource = UpdateRowSource.None;
return adapter;
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
return null;
}
이 코드는
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
MySqlDataAdapter adapterSpendCategory = new MySqlDataAdapter("select category,details from spendcategory", connection);
adapterSpendCategory.TableMappings.Add("Table", "spendcategory");
adapterSpendCategory.Fill(cachedData);
cmb.DataSource = cachedData.Tables["spendcategory"];
cmb.DisplayMember = "details";
cmb.ValueMember = "category";
//Put the missing piece of the puzzle here
이 코드는 DataGridView를 채 웁니다 내가 필요로하는 정보를 추가로 열을 추가 :
이 코드는 데이터 어댑터를 준비합니다 이 추가 열을 추가하는 중 카테고리 열을 변경하고 여분의 공동처럼 보이길 원합니다. 당신이 그것을 데이터 그리드보기를 추가하고 선택하기 위해 디자이너를 사용하는 경우 lumn
디자이너를 사용하지 않습니다. 디자이너와 mySQL을 함께 사용할 수 있습니까? –