Liste görünümündeki tek bir hücrenin arka rengini kendi değerini kullanarak nasıl programlayabilirim?Listview alt öğesinin arka rengini kendi değeriyle değiştirme
ColorFlag sütun değerleri veritabanından geldi. bir göz atın peşin
Liste görünümündeki tek bir hücrenin arka rengini kendi değerini kullanarak nasıl programlayabilirim?Listview alt öğesinin arka rengini kendi değeriyle değiştirme
ColorFlag sütun değerleri veritabanından geldi. bir göz atın peşin
Bildiğim kadarıyla söyleyebilirim, sahip olduğunuz kod iyi görünüyor. Sadece hızlı bir Windows Forms uygulamasını bir araya getirdim ve form görünümünde iki sütun içeren bir ListView'a atladım. Aşağıdaki kod düzgün çalışıyor.
var item1 = new ListViewItem("Item 1");
item1.SubItems.Add("Color");
item1.SubItems[1].BackColor = Color.FromArgb(-16711936);
item1.UseItemStyleForSubItems = false;
listView1.Items.Add(item1);
Öğeyi eklemeden önce BackColor'u ayarlamayı denerim. Aynı zamanda, tüm öğeleri muhtemelen istediğiniz gibi olmayan aynı renge ayarladığınıza benziyor.
yılında
for (int _i = 0; _i < _owLV.Items.Count; _i++)
{
_myListView.Items[_i].UseItemStyleForSubItems = false;
_myListView.Items[_i].SubItems[3].BackColor = Color.FromArgb(_colo);
}
Teşekkür: Burada
foreach(DataRow dr in _dataTbl.Rows)
{
_markOW = dr["Mark"].ToString();
_stock = dr["Stock"].ToString();
_SteelSectio = dr["SteelSection"].ToString();
_colo = (Int32)dr["Color"];
ListViewItem _lvi = new ListViewItem(_markOW);
_lvi.SubItems.AddRange(new string[]{_SteelSectio, _stock, _colo.ToString()});
_myListView.Items.Add(_lvi); }
Ben hücrelerin backcolor değiştirmeye çalıştık kodudur: Burada
benim kodudur bu bağlantılar:
C# ListView Detail, Highlight a single cell
önemli nokta bu ayarlamaktır (bir çalışma çözümü vardır):
listView1.Items[0].UseItemStyleForSubItems = false;
yapın:
foreach (DataRow dr in _dataTbl.Rows)
{
_markOW = dr["Mark"].ToString();
_stock = dr["Stock"].ToString();
_SteelSectio = dr["SteelSection"].ToString();
_color = (Int32)dr["Color"];
ListViewItem _lvi = new ListViewItem(_markOW);
_lvi.SubItems.AddRange(new string[] {_SteelSectio, _stock, _color.ToString() });
_lvi.UseItemStyleForSubItems = false;
_lvi.SubItems[2].BackColor = Color.FromArgb(_color);
_myListView.Items.Add(_lvi);
}
Gönderdiğiniz ikinci bağlantı, bir süre önce kullandığım bağlantıdır. Ancak, bununla ilgili problem, _colo değişkeninde ayarlanan son değerin sütunun arka rengi olacağıdır. – Rye
@Rye, çünkü hepsini aynı renge ayarlıyorsunuz, _colo. Örneğime ve notuma bir göz atın. Öğeyi eklemeden önce BackColor'u ayarlamanız gerekir. – Josh
Anladım. Teşekkür ederim. – Rye
Neden DataGridView kullanmıyorsunuz? – siride
Henüz DataGridView kullanmayı bilmiyorum. – Rye
Eh, bu öğrenmek için iyi bir zaman olabilir. Aslında bu kadar zor değil ve basit bir tablo oluşturmak için görsel tasarım araçları oldukça basittir. Bence zamanınızı öğrenmek için gerçekten tasarlanmamış bir şey yapmak için bunu yapmaktan daha iyi olacağını düşündüm. – siride