[英]How to view multiple data in data grid view column c#
我遇到了一個問題,如果值屬於同一類別,則數據網格視圖列將不會顯示超過1個值。
示例:2個人在同一個地方工作。 第一個人的上班時間為:10:00-1700。第二個人的上班時間為:1500:2100。
我實現了一些代碼,以在Schedule數據網格視圖中顯示2個人的換班時間。 問題從這里開始。 這2個工作人員在15:00-17:00之間有重疊的時移。 15:00-17:00之間在數據網格視圖中顯示的值僅是第一個人的名字。 我需要在15:00-17:00的時間輪班中同時顯示兩個員工的姓名。
這是將數據顯示到數據網格視圖中的代碼。
foreach (allocation a in query)
{
for (int i = 0; i < scheduleDGV.Rows.Count - 1; i++)
{
for (int j = 0; j < scheduleDGV.Columns.Count; j++)
{
if (cbLocation.SelectedItem.Equals(a.LocationName) && cbScheduleDate.SelectedItem.Equals(a.AllocationDate))
{
if (a.LocationName.Equals(scheduleDGV["Location", i].Value.ToString()) &&
a.StationName.Equals(scheduleDGV["Station", i].Value.ToString()))
{
if (scheduleDGV.Columns[j].HeaderText.Equals(a.AllocationTime.ToString()))
{
scheduleDGV[j, i].Value = a.EmployeeName;
}
}
}
}
}
}
任何人都對如何實現它有任何想法,以便它可以顯示兩個名稱而不是僅顯示一個? 謝謝! 幫助將不勝感激。 :)
您的問題可能是由於生產線引起的
scheduleDGV[j, i].Value = a.EmployeeName;
您只是在其中將相關的員工姓名放在單元格中,而不檢查那里是否已經有姓名。
在不重構其余代碼的情況下,可以將以下行替換為:
var existingName = scheduleDGV[j, i].Value as string;
if (!String.IsNullOrempty(existingName))
{
scheduleDGV[j, i].Value =
existingName +
Environment.NewLine +
a.EmployeeName;
}
else
{
scheduleDGV[j, i].Value = a.EmployeeName;
}
看看是否已經做了你所期望的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.