Нужно создать список в GtkTreeView, кол-во столбцов известно только в run-time.
GtkListStore без проблем создается gtk_list_store_newv().
Как добавить в созданный store данные ?
При использовании gtk_list_store_set_value во всех колонках получается значение первого столбца.
Код:
gtk_list_store_clear(GTK_LIST_STORE(store));
dl_data->first(); // цикл по строчкам таблицы
while(!dl_data->eof())
{
GtkTreeIter iter; int i = 0;
gtk_list_store_append(GTK_LIST_STORE(store), &iter);
field.first();
while(!field.eof()) // цикл по столбцам
{
std::string val;
GValue value = { 0, };
g_value_init( &value, G_TYPE_STRING ); // все колонки типа G_TYPE_STRING
val = dl_data->field_by_name(field.field_by_name("name")->get_string())->get_string();
g_value_set_string( &value, val.c_str() );
gtk_list_store_set_value(GTK_LIST_STORE(store), &iter,
i, &value);
g_value_unset( &value );
field.next();
i++;
} // while(!field.eof())
dl_data->next();
} // while(!dl_data->eof())
SuSE 10.1
gtk2-2.8.10-36