ListViewItem.Text не изменяется
От: Liquidazz  
Дата: 20.11.06 09:46
Оценка:
Создаю listview.

//Создаю колонки
for (int num1 = 0; num1 < area.Column; num1++)
        {
            ColumnHeader header1 = new ColumnHeader();
            header1.Text = (num1 + 1).ToString();
            header1.Width = 30;
            header1.TextAlign = HorizontalAlignment.Right;
            this.listView1.Columns.Add(header1);
        }
        
        //Создаю записи
        for (int num2 = 0; num2 < area.Row; num2++)
        {
            int num = num2 + 1;
            ListViewItem item = new ListViewItem(num.ToString());
            item.UseItemStyleForSubItems = false;
            
            //добавляю ListViewSubItem'ы
            for (int num1 = 0; num1 < area.Column; num1++)
            {
                ListViewItem.ListViewSubItem item2 = new ListViewItem.ListViewSubItem();
                item2.BackColor = Color.White;
                item.SubItems.Add(item2);
            }
            item.BackColor = Color.White;
            this.listView1.Items.Add(item);
        }


потом хочу по нажатию кнопки изменить цвет ListViewSubItem'а, и записать в него текст.

    private void button1_Click(object sender, System.EventArgs e)
    {
        int X = Int32.Parse(this.textBox1.Text);
        int Y = Int32.Parse(this.textBox2.Text);
        
        ListViewItem.ListViewSubItem item3 = listView1.Items[X].SubItems[Y];
        item3.ForeColor = Color.White;
        item3.BackColor = Color.DeepPink;
        item3.Text = "SomeText";
        this.Refresh();
    }


Цвет меняется, текст нет. Смотрю, рефлектором свойство text.

public string Text
{
      get
      {
            if (this.text != null)
            {
                  return this.text;
            }
            return "";
      }
      set
      {
            this.text = value;
            if (this.owner != null)
            {
                  this.owner.UpdateSubItems(-1);
            }
      }
}


в студии при отладке

owner = <undefined value>

Вопрос — можно ли таким спосбом поменять текст субайтема?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: ListViewItem.Text не изменяется
От: Liquidazz  
Дата: 20.11.06 10:11
Оценка:
нашел способ

ListViewItem item = new ListViewItem(num.ToString());
item.UseItemStyleForSubItems = false;

for (int num1 = 0; num1 < area.Column; num1++)
{
//передаю owner в конструктор
ListViewItem.ListViewSubItem item2 = new ListViewItem.ListViewSubItem(item,"");
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.