the only REAL detail we need are each of the columns from a different database, or are all the columns from one database?
You have lots of choices. For such a layout, we really need to know if the rows have some relation to the other rows.
However, using a listview is your best bet. The only issue is as noted, are these columns of data from different tables, or do we have a row of data going accross each column. Without this information, then we are guessing.
However, I would think building a listview - and creating a user control might do the trick.
For example, I have a issues database, and to edit each section of the issues, then I have this screen:

The above is 4 listviews, but since I "knew" ahead of time that I needed to edit each choice, then I built a user control out of the listview, and thus repeated it 4 times.
However, in your layout, we would drop the "edit" button for each row, and have your single save button.
Such a UI is actually quite easy in web forms, but it not clear if your columns are from the same table, and it not clear if each row going accross can be assumed to be one row of data.
But, 7 listboxes probably is the way to go. Since the UI, the "+" to add, and virtually all of the markup will look the same, but only having a different datasource, then as above shows, dropping in 4 user controls, reduced the markup from about 400+ lines to this:
<h2>Manage Portal Issues Choices</h2>
<uc1:GPedit runat="server" id="GPedit3"
Title="Edit Project Choices"
Col1="Project"
Col2="ProjectImage"
Heading1="Project"
Heading2="Image" DTable="Projects" />
<uc1:GPedit runat="server" id="GPedit1"
Title="Edit Issue Choices"
Col1="Issue"
Col2="IssueImage"
Heading1="Issue"
Heading2="Image" DTable="Issues" />
<uc1:GPedit runat="server" id="GPedit2"
Title="Edit Status Choices"
Col1="Status"
Col2="StatusImage"
Heading1="Status"
Heading2="Image" DTable="Status" />
<uc1:GPedit runat="server" id="GPedit0"
Title="Edit Priorty Choices"
Col1="Priority"
Col2="PriorityImage"
Heading1="Priority"
Heading2="Image" DTable="Priority" />
The above is quite much the WHOLE page of markup!!
So, if each column has some kind of relatonship to the other columns (we have rows), then ONE listview would suffice.
However, if this is to be 7 seperate columns, all with the same UI, but each colum is to edit seperate data, then the only change for the 7 columns is say the heading, and the data table on which it is to operate. The rest of the code would be 100% the same. As above shows, I do have 4 listviews on the page, but the UI and what I wanted to edit really is exactly the same for the 4 columns of data, just that different data is required, and thus note the settings I have for that user control - I just have to change the heading, table and set PK, and I can add more options.
So since you need to "repeat" those columns, and edit those columns, and more so it looks like each column really is its own data, then I suggest the above approach. A listview looks to be the best choice here.