[英]How can I fake an “AlternatingColumnsDefaultCellStyle” for the DataGridView?
DataGridView具有“ AlternatingRowsDefaultCellStyle”,其作用類似於冠軍。 但是我需要相反的分界/裝飾。 是否有一個屬性可以使列背景的顏色與默認顏色不同,或者是否需要為CellFormatting事件編寫代碼,或者...?
好的,這似乎很奇怪:
使用此代碼,來自Ascension:
dataGridView1.Columns[i].ItemStyle.BackColor = Color.Blue;
...我得到:
'System.Windows.Forms.DataGridViewColumn'不包含'ItemStyle'的定義,並且找不到擴展方法'ItemStyle'接受類型為'System.Windows.Forms.DataGridViewColumn'的第一個參數(您是否缺少using指令?或裝配參考?)
但是,如果僅輸入第一部分( dataGridView1.Columns [i]。 ),我確實會通過Intellisense獲得“ ItemStyle”作為選擇的有效選項,但是當我這樣做時,它會變成紅色(可能是“銳利”效果)。 之后的點允許選擇BackColor屬性,然后該屬性不是紅色。
為什么會發生這種奇怪的行為,並且有解決方法?
並且:紅色的Intellisense項目是否表示無法訪問,如果是,為什么顯示它們? “挑逗”成員是否有價值?
這可行(受提升的啟發,所以我給他/她正確的答案):
DataGridViewCell cell = new DataGridViewTextBoxCell();
cell.Style.BackColor = Color.Wheat;
dataGridView1.Columns[i].CellTemplate = cell;
您是否嘗試過通過轉到DataGridView屬性->其他->列(打開的集合)-> DefaultCellStyle為每個列設置顏色
嘗試這個:
DataGridView Property -> Misc -> Columns ... -> ItemStyle -> BackColor
或下面的腳本
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Columns.Count; i++)
{
if (i % 2 == 0)
{
GridView1.Columns[i].ItemStyle.BackColor = Color.Red;
}
else
{
GridView1.Columns[i].ItemStyle.BackColor = Color.Blue; ;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.