클릭 이벤트 단추에 데이터베이스 레코드가 채워지는 내 양식에 DataGridView가 있습니다. 런타임에 프로그래밍 방식으로 다른 두 열 템플릿을 채우려면 어떻게해야합니까?DataGridView 열 템플릿
두 개의 열 템플릿 ...이 클릭 이벤트 버튼을 데이터베이스에서 채워 때 어떻게 생겼는지 내 DataGridView에있다
===============================================================
FoodName FoodType Qty In Stock Status
===============================================================
Olives Starter
Soup Starter
Caprese Starter
Bruschetta Starter
Mushroom Starter
Antipasto Starter
Scallops Starter
Calamari Starter
Crab Avocado Starter
Pizza Bread Starter
===============================================================
증권 및 상태 에서 수량입니다 그리고 이것은 DataGridView에 무엇 런타임에 다른 두 개의 열을 채우는 것처럼 보입니다.
=================================================================
FoodName FoodType Qty In Stock Status
=================================================================
Olives Starter 0 Allways On Stock
Soup Starter 0 Allways On Stock
Caprese Starter 0 Allways On Stock
Bruschetta Starter 0 Allways On Stock
Mushroom Starter 0 Allways On Stock
Antipasto Starter 0 Allways On Stock
Scallops Starter 0 Allways On Stock
Calamari Starter 0 Allways On Stock
Crab Avocado Starter 0 Allways On Stock
Pizza Bread Starter 0 Allways On Stock
=================================================================
다음은 datagridvie를 생성하는 코드입니다. ... 클릭 이벤트 버튼을 데이터베이스에서 w
private DataGridViewTextBoxColumn ColFoodQtyStock = new DataGridViewTextBoxColumn();
private DataGridViewTextBoxColumn ColFoodStatus = new DataGridViewTextBoxColumn();
private void cmdStarters_Click(object sender, EventArgs e)
{
OleDbConnectionStringBuilder connBuilder = new OleDbConnectionStringBuilder();
connBuilder.DataSource = @"C:\Users\AP_AE\Desktop\DTPOS_APP\DataBase\DtposMenu.accdb";
connBuilder.Provider = "Microsoft.ACE.OLEDB.12.0";
connBuilder.Add("Jet OLEDB:Engine Type", "5");
// Food SQL Query
string foodTypeSql = @"SELECT FoodName, FoodType FROM Food WHERE FoodType = @foodType";
using (OleDbConnection conn = new OleDbConnection(connBuilder.ConnectionString))
{
dataGridView1.Columns.Clear();
dataGridView1.RowTemplate.Height = 60;
//====================================\\
dataGridView1.Visible = true;
dataGridView2.Visible = false;
try
{
OleDbCommand foodsCommand = new OleDbCommand(foodTypeSql, conn);
OleDbParameter foodType = foodsCommand.Parameters.Add("@foodType", OleDbType.VarChar, 15);
OleDbDataAdapter foodsDa = new OleDbDataAdapter(foodsCommand);
//DataRow dr;
DataSet ds = new DataSet();
conn.Open();
foodType.Value = "Starter";
foodsDa.Fill(ds, "Food_table");
conn.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Food_table";
dataGridView1.Columns.AddRange(ColFoodQtyStock, ColFoodStatus);
DataGridViewCellStyle dataGridViewCellStyle1 = new DataGridViewCellStyle();
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
dataGridViewCellStyle1.Font = new Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dataGridView1.Columns[0].Width = 420;
this.dataGridView1.Columns[1].Width = 180;
this.dataGridView1.Columns[2].Width = 300;
this.dataGridView1.Columns[3].Width = 308;
// ColStatus
ColFoodStatus.HeaderText = "Status";
ColFoodStatus.Name = "ColFoodStatus";
// ColQtyStock
ColFoodQtyStock.HeaderText = "Quantity In Stock";
ColFoodQtyStock.Name = "ColFoodQtyStock";
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex);
}
}
}
사람이 lapeci 사전에
덕분에이 문제를하십시오 해결하기 위해 내 클릭 이벤트 버튼 코드를 수정하는 데 도움이 수
추가 열에 대한 데이터는 어디에서 가져 옵니까? 데이터베이스의 다른 테이블에있는 경우 SQL 쿼리를 업데이트하여 두 테이블을 조인하고 4 개의 열을 모두 가져와야합니다. –
안녕하세요 Brian, 추가 열에 대한 데이터는 어디에도 없습니다. 런타임에 생성해야합니다. – LAPECI
안녕하세요 Waleed, 추가 열의 데이터가 어디에도 없습니다. 런타임에 생성해야합니다. – LAPECI