Solved!!!!!
With help from here, and a bunch of others. Would not have got this without this post so hats off to those of the post.
Post
This is how I did it.
First, make a virtual attribute in your model to concat a custom URL you would normally have in a button column url.
private $_update_url=NULL;
public function getupdate_url()
{
$url = "";
if(!isset($this->_update_url))
{
$url = Yii::app()->createUrl('client/updateDonation',
array('id'=>$this->client_id, 'donation_id'=>$this->id));
$this->_update_url = $url;
}
return $this->_update_url;
}
public function setupdate_url($value)
{
$this->_update_url = $value;
}
Then in your grid add this column and hide it easy enough with CSS. The visible property did not work for the column when using the JS function of the Click event.
So here is the button and column. Notice the :nth-child([font="Arial Black"]3[/font]) More specifically the number 3. This is the column where you have your URL. Also in the column you will have to add a class for hiding the td which is not assigned in the grid by default.
array(
'name'=>'update_url',
'header'=>'',
'htmlOptions'=>array('class'=>'hide_this_column'),
),
array('class'=>'CButtonColumn',
'template'=>'{update}',
'buttons'=>array(
'update'=>array(
'label'=>'Update',
'url'=>'"#"',
'click'=>'function(){ document.forms.client_form.action=$(this).parent().parent().children(":nth-child(3)").text(); document.forms.client_form.submit();}'
),
),),
Here is my CSS to hide the header and also to reference the htmlOptions above in the grid column holding the url. Firebug does come in handy. I am assuming that the column could be hidden another way, but this is working for me.
#client-donations-grid_c3
{
display: none;
}
.hide_this_column
{
display: none;
}
So with the virtual column that is hidden I can now use the CGridView to POST my form with specific column information to a specific controller action. Hurray!!!
Please post back if you do have another option but I could not find any. Hope this helps someone else and saves them some time.
Thanks