Brian, I had the same issue but editing inline... maybe this solution will work for you. A little jQuery in the template makes it bind client-side, as the data for the grid is kept in the jQuery object by Telerik, all you have to do is find the item for the row being edited, create a "dumb" itemlist in the dropdown's items, and then set the dropdown value to the current property value... sounds complicated, so I paste you this piece of code.
This is my editor template for the combobox on grid:
<%@ Import Namespace="Telerik.Web.Mvc.UI" %>
<%@ Import Namespace="Cirsa.Slot.Entidad.General" %>
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Empresa>" %>
<%=Html.Telerik().ComboBox().Name("myCombo")
.DataBinding(db => db.Ajax().Select("_getComboItems","myController"))
.Filterable(ft => ft.FilterMode(AutoCompleteFilterMode.StartsWith))
%>
<script type="text/javascript">
$(document).ready(function() {
// Get a handler to your template's combobox
var combo = $('#myCombo');
// Get a handler for the row being edited
var tr = combo.closest('tr:has(form)');
// Get your entity's Json object from the grid
var row = $(combo.closest('div.t-grid')).data('tGrid').dataItem(tr);
// If it has value (my entity uses 0 as no-value, but you can use null
if (row.Id != 0) {
// Access the telerik's combo object
combo = combo.data('tComboBox');
// Create a new datasource with the current entity value as the only item
var datasource = [ { Text: row.myEntity.Name, Value: row.myEntity.Id, Selected: true } ];
// Bind the combobox dropdown list
combo.dataBind(datasource);
// Asign combo value and text to the recent bound data
combo.value(row.myEntity.Id);
combo.text(row.myEntity.Name);
}
});
</script>
I hope this will help you...
Cheers