簡體   English   中英

如何更改特定的 datagridview 單元格值?

[英]how can i change specific datagridview cell value?

我有來自數據庫的數據,但數據庫記錄上的一個屬性是位(布爾值)。 例如

name, surname, date, itHave
A      B     2020    1//
C      D     2021    0

表單應用端,數據沒問題。 我可以看到記錄。 但我想將 1 和 0 更改為 Yes 或 No。

我試過數字(datagridview的計數)

for( i=0; i< number; i++){

   if (dataGridView1.Rows[i].Cells[3].Value.ToString() =="1"){
       MessageBox.Show("Test");
       dataGridView1.Rows[i].Cells[3].Value = "Yes";
   }

}

MessageBox.Show("測試"); // 這正在運行,但它沒有發生。

我該如何解決?

您的示例看起來不錯並且有效。 我在“It Have”列中創建了初始DataGridView ,其中包含一些0-1值:

在此處輸入圖片說明

然后使用您的示例(通過添加三元稍微編輯):

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
    DataGridViewCell cell = dataGridView1.Rows[i].Cells[3];
    cell.Value = cell.Value.ToString() == "1" ? "Yes" : "No";
}

並獲得Yes/No而不是1-0

在此處輸入圖片說明

請注意,您的MessageBox.Show("Test"); 會阻止代碼執行,直到您關閉它。

以人類可讀的文本制作您的數據庫數據,您可以在 LINQ 中使用匿名類型:

var items = mydbitems.Select(x => new 
                                  {
                                     Name = x.name,
                                     Surname = x.surname,
                                     Date = x.date,
                                     itHave = x.itHave == 1 ? "yes" : "no"
                                  };
datagridview.DataSource = items.ToList();

暫無
暫無

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

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