Hi Jeff,
Me again.
I do this, but maybe there is a better way (I'm in NT10 but most of my work was built in NT7).
I create a column which is a local variable and I use the "Value:: routine for" for my local variable to create the necessary code to create a button. Make sure you do not set a picture for the local variable in the column definition.
Here is a snipit of code that creates a button:
lAction = '<button type="button" name="view_btn" class="MiniButton" onclick="ntd.push(''TrustReceipt'','''','''',1,5,null,''trusttransaction'','''&CLIP(p_web.AddBrowseValue('TrustTransaction','Trust',TRU:SysKey))&''','''',0,'''','''','''',''View Receipt'',''trusttransaction'','''');">View</button>'
TrustReceipt is my form. I've made sure the record in the Trust file is in memory so the AddBrowseValue function will work. lAction is my local variable that is a column on the browse.
If I wrap this in a condition it will only be created if my condition is true, I could also check a condition and create different buttons for different reasons.
Regards
Bill