Многострочный ListView для .NET CF (описание, исходный код и пример работы).

Здесь я приведу описание основных свойств и методов компонента GraphListView.

Самое главное, как указать источник данных:
//1. Бросаем на форму GraphListView
//связываем компонент с данными и обновляем его.
graphListView1.GraphListDataSet = new DataSet();
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\dataset.xml";
//В данном случае источник данных загрузили из XML файла.
graphListView1.GraphListDataSet.ReadXml(path);

//Указываем наименование таблицы в источнике данных
graphListView1.DataTableName = "Table";
//Указываем наименование поля таблицы в котором передается значение
graphListView1.FieldValue = "ID_DOCHEAD";
//Указываем наименование поля таблицы в котором передается отображаемое наименование
graphListView1.FieldDisplay = "NAME";

//Количество строк в позиции, можно не указывать по умолчанию 2;
//Может принимать значение от 1 до 10;
graphListView1.RowCountByPos = 2;
//Цвет текста, можно не указывать по умолчанию Белый;
graphListView1.FontColor = Color.Red;

//Обязательная функция после применения всех обязательных параметров выше.
//Заполнит и отобразит Список.
graphListView1.RefreshList();

RefreshList — необходимо запускать после каждого изменения данных в источнике данных.

Полезные функции компонента:
//Перерисовывает компонент
graphListView1.RepaintList();

//Перейти на позицию вверх
graphListView1.MoveUp();

//Перейти на позицию вниз
graphListView1.MoveDown();


Событие SelectionChanged возникает при смене выбранной позиции.

Возвращаемые параметры:
SelectedIndex — Индекс выбранного значения (порядковый номер в списке).
SelectedValue — Выбранное значение.
SelectedName — Наименование выбранной позиции.

Пример с исходным кодом можно скачать здесь: TestComponent_GLW.rar

Исходный код компонента можно скачать здесь: GraphListView_Source.rar

P.S. Пожелания в развитии компонента, найденные глюки и неточности, приветствуются.


2 комментария

avatar
На основе компонента ListBox2 с возможностью ручной прорисовки из Smart Device Framework я тоже реализовал похожее:


avatar
Здорово, возьму на заметку.
Мне просто хотелось не только многострочный, но чтобы ещё и с прозрачностями.
Красивый вообщем чтобы был. :) Вот и отвел душу.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.