List Box
ListBox lb=ListBox();
ArrayList al=new ArrayList();
al.Add(...);
...
lb.DataSource=al; //Тут всё срабатывает безотказно
...
al.Add(...);
...
lb.DataSource=al; //А вот тут надо чё-нть прийдумать типа какого-нть Update
lb.DataSource=al; //Тут всё срабатывает безотказно
...
al.Add(...);
...
lb.DataSource=null; //убираем источник данных
lb.DataSource=al; //снова указываем
то происходит потому, что данные добавляются при установке свойства DataSource и дальше не зависят от источника данных. Об этом пишется в MSDN: When the DataSource property is set, a user cannot modify the items collection
Видел такое св-во и даже включал... тока толку от него. Каким обр-ом дописать инфу в конкретную колонку и как для колонки создать заголовок? а в ListView через что это вооще делается? могёшь пару примерчиков кинуть?
ListView1.Width = 270;
ListView1.Location = new System.Drawing.Point(10, 10);
// Создаём колонки
ColumnHeader header1 = new ColumnHeader(),
header2 = new ColumnHeader();
// Выставляем свойства
header1.Text = "File name";
header1.TextAlign = HorizontalAlignment.Left;
header1.Width = 70;
header2.TextAlign = HorizontalAlignment.Left;
header2.Text = "Location";
header2.Width = 200;
// Добавляем колонки в listview
ListView1.Columns.Add(header1);
ListView1.Columns.Add(header2);
// Заполняем колонки
// Колонки заполняем jpg файлами в этой директории
System.IO.DirectoryInfo dirInfo =
new System.IO.DirectoryInfo(
"C:\\Documents and Settings\\All Users" +
"\\Documents\\My Pictures\\Sample Pictures");
System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");
if (files != null)
{
foreach ( System.IO.FileInfo file in files )
{
ListViewItem item = new ListViewItem(file.Name);
item.SubItems.Add(file.FullName);
ListView1.Items.Add(item);
}
}
заголовков вплотную не вижу... добавляется поочередно по столбцам, а надо чтоб можно было добавоять в конкретный столбец, короче надо мне тел. справочник.
P.S исп-ю VS 7 .NET (так на всяк случай)
Цитата:
Originally posted by alektrik
Всё компилится нормально, но не работает...
заголовков вплотную не вижу... добавляется поочередно по столбцам, а надо чтоб можно было добавоять в конкретный столбец, короче надо мне тел. справочник.
P.S исп-ю VS 7 .NET (так на всяк случай)
Всё компилится нормально, но не работает...
заголовков вплотную не вижу... добавляется поочередно по столбцам, а надо чтоб можно было добавоять в конкретный столбец, короче надо мне тел. справочник.
P.S исп-ю VS 7 .NET (так на всяк случай)
На твоём месте гораздо проще задействовать DataGridView
Цитата:
Originally posted by Ap0k
На твоём месте гораздо проще задействовать DataGridView
На твоём месте гораздо проще задействовать DataGridView
Прошу прощения, не прочитал, что используешь VS.NET 7 (насколько я понял это релиз 2003-его года). Может проще поставить Visual Studio 2005 ?
Цитата:
DataGridViewTextBoxColumn column1 = new DataGridViewTextBoxColumn(),
column2 = new DataGridViewTextBoxColumn(); //Создаём две колонки
column1.HeaderText="Person"; //Название первой колонки
column2.HeaderText="Phone number"; //Название второй колонки
dataGridView1.Columns.AddRange(column1, column2); //Добавляем колонки
DataGridViewRow row1=new DataGridViewRow(); //Создаём строку данных
DataGridViewCell cell1 = new DataGridViewTextBoxCell(),
cell2 = new DataGridViewTextBoxCell(); //Создаём две ячейки
cell1.Value = "Peter"; //Ячейка, которая запишется в первую колонку
cell2.Value = "222-333"; //Ячейка, которая запишется во вторую колонку
row1.Cells.AddRange(cell1, cell2); //Добавляем ячейки в строку
dataGridView1.Rows.Add(row1); //Добавляем строку в таблицу
VS 2005 конечно хорошо, тока не сейчас...
свойствo View установи Details
При помощи свойства Items добавляем нужное кол-во колонок
ListView1.View = View.Details;
ListView1.Width = 270;
ListView1.Location = new System.Drawing.Point(10, 10);
// Создаём колонки
ColumnHeader header1 = new ColumnHeader(),
header2 = new ColumnHeader();
// Выставляем свойства
header1.Text = "File name";
header1.TextAlign = HorizontalAlignment.Left;
header1.Width = 70;
header2.TextAlign = HorizontalAlignment.Left;
header2.Text = "Location";
header2.Width = 200;
// Добавляем колонки в listview
ListView1.Columns.Add(header1);
ListView1.Columns.Add(header2);
// Заполняем колонки
// Колонки заполняем jpg файлами в этой директории
System.IO.DirectoryInfo dirInfo =
new System.IO.DirectoryInfo(
"C:\\Documents and Settings\\All Users" +
"\\Documents\\My Pictures\\Sample Pictures");
System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");
if (files != null)
{
foreach ( System.IO.FileInfo file in files )
{
ListViewItem item = new ListViewItem(file.Name);
item.SubItems.Add(file.FullName);
ListView1.Items.Add(item);
}
}