簡體   English   中英

c# - 如何在c#.net中的datagridview的特定列的單元格中添加值?

[英]How to add a value in the cells of a specific column in a datagridview in c#.net?

這是我的 datagridview 的樣子:

在此處輸入圖片說明

值 Name、Price、Total 和 Quantity 列是從數據庫加載的。 我想將初始值零(0)添加到“添加或減去的項目”列中。

這就是我填充數據網格視圖的方式:

con.Open();
DataTable dt = new DataTable();
SqlCommand cm = new SqlCommand("SELECT * FROM Stock");
cm.Connection = con;

SqlDataAdapter da = new SqlDataAdapter(cm);
da.Fill(dt);
stockGridView.AutoGenerateColumns = false;
stockGridView.Columns[0].DataPropertyName = "Name";
stockGridView.Columns[1].DataPropertyName = "Price";
stockGridView.Columns[2].DataPropertyName = "Total";
stockGridView.Columns[3].DataPropertyName = "Quantity";
stockGridView.DataSource = dt;
con.Close();

我的 + 和 - 列現在可以工作了,現在可以遞增/遞減 1,遞增/遞減的值可以顯示在“Item/s added or Subtracted”列中,但如果我能放一個初始值會更好那里。

我試過這個:

DataTable dt = new DataTable();
DataColumn newColumn = new DataColumn("addOrSubtractItem", typeof(String));
newColumn.DefaultValue = 0;
dt.Columns.Add(newColumn);

但它不顯示 0

我也試過:參考-> https://docs.microsoft.com/en-us/dotnet/desktop/winforms/controls/unbound-column-to-a-data-bound-datagridview?view=netframeworkdesktop-4.8

DataGridViewTextBoxColumn buttonColumn = new DataGridViewTextBoxColumn();
buttonColumn.Name = "Item/s Added or Subtracted";
buttonColumn.HeaderText = "Item/s Added or Subtracted";
stockGridView.Columns.Insert(4, buttonColumn);

但我不能把 0 值放在單元格中。

你基本上做得很好,但不完全。 從數據庫填充數據表后,您將新列添加到數據表並將所有行設置為“0”值。 然后將 DataTable 設置為 GridView 的數據源。

程序代碼示例:

con.Open();
DataTable dt = new DataTable();
SqlCommand cm = new SqlCommand("SELECT * FROM Stock");
cm.Connection = con;

SqlDataAdapter da = new SqlDataAdapter(cm);
da.Fill(dt);
con.Close();

//add new column to Datatable
dt.Columns.Add("addOrSubtractItem", typeof(int));
foreach (DataRow dr in dt.Rows)
{
    dr["addOrSubtractItem"] = 0;
}

stockGridView.AutoGenerateColumns = false;
stockGridView.Columns[0].DataPropertyName = "Name";
stockGridView.Columns[1].DataPropertyName = "Price";
stockGridView.Columns[2].DataPropertyName = "Total";
stockGridView.Columns[3].DataPropertyName = "Quantity";
stockGridView.Columns[4].DataPropertyName = "addOrSubtractItem";
stockGridView.DataSource = dt;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM