It sounds like you would be better off applying the ValueList to the cell, rather than the column. And you could use the InitializeRow event to do it. But if you intend to use the DataValue and DisplayText feature of the ValueList, then you will need to apply the ValueList on the whole column or at least to each cell. Otherwise, when you remove the ValueList from the cell, you will lost the translation to the DisplayText.
You might want to take a look at this KB article, also: HOWTO:What is the best way to place a DropDown list in a grid cell?