То, что вы просите, это изрядное количество работы, но, говоря это, это относительно просто.
Проблема в том, что ваша просьба настолько расплывчата, что люди не хотят помогать.
Одним из возможных решений (хотя оно может не соответствовать тому, что вам нужно) будет:
1) Создать ListActivity
2) Создайте собственный SimpleCursorAdapter.
3) Создайте пользовательское представление XML для каждой строки.
4) переопределить функцию getView () SimpleCursorAdapter, чтобы накачать указанное представление XML
5) Переопределите метод bindView () SimpleCursorAdapter, чтобы присвоить значения от курсора строке.
Вопросы в моем сознании, которые помешали мне попытаться написать это для вас:
1) Можете ли вы динамически изменять количество столбцов?
2) Может быть, вы хотите больше гибкости в отношении того, как определяется ширина столбца? и т.д ..
Несколько более сложная установка будет использовать TableLayout и TableRow.