I've just had to implement a tooltip on a programatically populated DropDownList. I found that the title attribute was being set to the Text property automatically and I couldn't override it, even at PreRender.
None of the suggestions on this thread worked, and I was eventually forced to use a jQuery approach.
When creating the list item I set a custom attribute with the tooltip text
ListItem item = new ListItem("Name", "Value");
item.Attributes.Add("tooltip", tooltip);
ddl.Items.Add(item);
Then fire the method below with a start up script
function SetTooltip() {
jQuery('#<%=ddl.ClientID %> option').each(
function () {
jQuery(this).attr('title', jQuery(this).attr('tooltip'));
}
);
}
Pretty it ain't. But it works.