With gtkD you would use setValue, it has overloads for int and string, so in this case you can call it directly. For other types it needs to be wrapped in a gobject.Value.

enum
{
    COL_NAME = 0,
    COL_AGE,
    NUM_COLS
};
 
static TreeModel createAndFillModel()
{
    ListStore   store;
    GtkTreeIter iter;
   
    store = new ListStore([G_TYPE_STRING, G_TYPE_UINT]);
    iter = store.createIter();

    /* Append a row and fill in some data */
    store.append(iter);
    store.setValue(iter, COL_NAME, "Heinz El-Mann");
    store.setValue(iter, COL_AGE, 51);
   
    /* append another row and fill in some data */
    store.append(iter);
    store.setValue(iter, COL_NAME, "Jane Doe");
    store.setValue(iter, COL_AGE, 23);
   
    /* ... and a third row */
    store.append(iter);
    store.setValue(iter, COL_NAME, "Joe Bungop");
    store.setValue(iter, COL_AGE, 91);

    return store;
}