I am working on a project where it switched datastore and columnmodel when a button is clicked. Both ColumnModels have rowExpanders associated with them. When the button is clicked, the datastore and column model change, but the row expander does not. Below is my code. Any ideas?

Thanks,
George

====================================================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:mso="urnchemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" >
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="/ext-3.2.1/resources/css/ext-all.css" />

<style type="text/css">
.row-preview
{
padding: 2px 2px 5px 15px;
border-top: dotted 1px #CCCCCC;
}
</style>

<script type="text/javascript" src="/ext-3.2.1/adapter/ext/ext-base.js"></script>

<script type="text/javascript" src="/ext-3.2.1/ext-all-debug.js"></script>

<script type="text/javascript" src="RowExpander.js"></script>

<script type="text/javascript" src="/ext-3.2.1/examples/ux/SearchField.js"></script>

<script type="text/javascript">


// Grid with remote sort

Ext.BLANK_IMAGE_URL = '/ext-3.2.1/resources/images/default/s.gif';

/////////////////////////////////////////////////////////////////////////////
// JSON Stores
/////////////////////////////////////////////////////////////////////////////
var blogStore = new Ext.data.JsonStore({
url: 'blogwikilist3.php',
root: 'list',
baseParams: { type: 'blog' },
idProperty: 'FID',
totalProperty: 'count',
fields: ['FID', 'title', 'description'],
remoteSort: true
});

blogStore.setDefaultSort('title', 'asc');

var wikiStore = new Ext.data.JsonStore({
url: 'blogwikilist3.php',
root: 'list',
baseParams: { type: 'wiki' },
idProperty: 'FID',
totalProperty: 'count',
fields: ['FID', 'title', 'description'],
remoteSort: true
});

/////////////////////////////////////////////////////////////////////////////
// RowExpanders
/////////////////////////////////////////////////////////////////////////////
var expanderText;

//if (pagingToolbar.displayMsg.indexOf('blogs') == 0) {
// expanderText = '<div class="row-preview "><img src="img/wiki_icon.jpg" align="left" style="padding-right:5px;"/><p>{description}</p></div>';
//} else {
// expanderText = '<div class="row-preview "><img src="img/blog_icon.jpg" align="left" style="padding-right:5px;"/><p>{description}</p></div>';
//}



var wikiRowExpander = new Ext.grid.RowExpander({
tpl: new Ext.Template(
'<div class="row-preview "><img src="img/wiki_icon.jpg" align="left" style="padding-right:5px;"/><p>w{description}</p></div>'
),
id: 'wikiRowExpander'
});

var blogRowExpander = new Ext.grid.RowExpander({
tpl: new Ext.Template(
'<div class="row-preview "><img src="img/blog_icon.jpg" align="left" style="padding-right:5px;"/><p>b{description}</p></div>'
),
id: 'blogRowExpander'
});

/////////////////////////////////////////////////////////////////////////////
// Column Models
/////////////////////////////////////////////////////////////////////////////
var blogColumnModel = new Ext.grid.ColumnModel([
blogRowExpander,
{ header: "FID", width: 30, dataIndex: 'FID', sortable: true, hidden: true },
{ id: 'title',header: "Title",width: 180,dataIndex: 'title',sortable: true}
]);

var wikiColumnModel = new Ext.grid.ColumnModel([
wikiRowExpander,
{ header: "FID", width: 30, dataIndex: 'FID', sortable: true, hidden: true },
{ id: 'title',header: "Title",width: 180,dataIndex: 'title',sortable: true}
]);


/////////////////////////////////////////////////////////////////////////////
// Tool Bars
/////////////////////////////////////////////////////////////////////////////
var blogSearchBar = new Ext.Toolbar({items: [
'Search: ', ' ',
new Ext.ux.form.SearchField({
store: blogStore,
width:150
})
]});

var wikiSearchBar = new Ext.Toolbar({items: [
'Search: ', ' ',
new Ext.ux.form.SearchField({
store: wikiStore,
autoShow: false,
width:150
})
]});

wikiSearchBar.hide();

var pagingToolbar = new Ext.PagingToolbar({
pageSize: 20,
store: blogStore,
displayInfo: true,
items: [blogSearchBar, wikiSearchBar],
displayMsg: 'Displaying blogs {0} - {1} of {2}',
emptyMsg: "No blogs found"
})

Ext.onReady(function() {

var grid = new Ext.grid.GridPanel({
//{'beforerender' : {fn:function(){ this.getBottomToolbar().store = this.store }}},
title: 'GSA Blogs',
store: blogStore,
//columns: [
// blogRowExpander,
// {header: "ID", width: 30, dataIndex: 'fid', sortable: true, hidden:true },
// { id: 'title-col',
// header: "Title",
// width: 180,
// dataIndex: 'title',
// sortable: true
//
// }
// ],
cm: wikiColumnModel,
autoExpandColumn: 'title',
renderTo: Ext.getBody(),
width: 600,
height: 400,
loadMask: true,
columnLines: true,
plugins: [blogRowExpander],
tbar: { items: [
{ text: 'Blogs',
handler: function() {
grid.setTitle('GSA Blogs');
//grid.reconfigure(moviesStore, moviesColumnModel);
grid.reconfigure(blogStore, blogColumnModel);
pagingToolbar.unbind(wikiStore);
blogStore.load();
pagingToolbar.displayMsg = 'Displaying blogs {0} - {1} of {2}';
pagingToolbar.bind(blogStore);
pagingToolbar.updateInfo();
wikiSearchBar.hide();
blogSearchBar.show();
grid.bottomToolbar.updateInfo();
}
},'-',
{ text: 'Wikis',
handler: function() {
grid.setTitle('GSA Wikis');
grid.reconfigure(wikiStore, wikiColumnModel);
//grid.bottomToolbar.updateInfo();
pagingToolbar.unbind(blogStore);
wikiStore.load();
pagingToolbar.bind(wikiStore);
pagingToolbar.displayMsg = 'Displaying wikis {0} - {1} of {2}';
blogSearchBar.hide();
wikiSearchBar.show();
pagingToolbar.updateInfo();
grid.bottomToolbar.updateInfo();
}
}
]
},
bbar: pagingToolbar
});

blogStore.load({ params: { start: 0, limit: 20} });

});

</script>
</head>
<body style="padding: 0px">

</body>
</html>