Yes, it was just an example, not exactly that you need. Unfortunately, we have no exact examples for all cases.
Hope the following suites your requirement.
Example
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
Store store = this.GridPanel1.GetStore();
store.DataSource = new object[]
{
new object[] { "id1", "" },
new object[] { "id2", "" },
new object[] { "id3", "" },
new object[] { "id4", "" },
};
store.DataBind();
}
}
protected void ComboBoxStore_RefreshData(object sender, StoreRefreshDataEventArgs e)
{
Store store = sender as Store;
string id = e.Parameters["id"];
store.DataSource = new object[]
{
new object[] { id + "_" + DateTime.Now.Second, "1" },
new object[] { id + "_" + (DateTime.Now.Second + 1), "2" }
};
store.DataBind();
}
</script>
<!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">
<head runat="server">
<title>Ext.NET Example</title>
<script type="text/javascript">
var onBeforeEdit = function (e) {
var column = e.grid.getColumnModel().columns[e.column];
if (column.dataIndex === "test") {
ComboBoxStore.on(
"beforeload",
function (store, options) {
options.params = {
id : e.record.data.id
}
},
null,
{
single : true
});
}
};
var testRenderer = function (value) {
var record = ComboBoxStore.getById(value);
if (record) {
value = record.data.text;
}
return value;
};
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:GridPanel
ID="GridPanel1"
runat="server"
AutoHeight="true"
Width="200">
<Store>
<ext:Store runat="server">
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="id" />
<ext:RecordField Name="test" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
</Store>
<ColumnModel runat="server">
<Columns>
<ext:Column Header="ID" DataIndex="id" />
<ext:Column Header="Test" DataIndex="test">
<Renderer Fn="testRenderer" />
<Editor>
<ext:ComboBox runat="server">
<Store>
<ext:Store
ID="ComboBoxStore"
runat="server"
OnRefreshData="ComboBoxStore_RefreshData"
AutoLoad="false">
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:ArrayReader IDProperty="value">
<Fields>
<ext:RecordField Name="text" />
<ext:RecordField Name="value" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
</Store>
<Listeners>
<BeforeQuery Handler="delete queryEvent.combo.lastQuery;" />
</Listeners>
</ext:ComboBox>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<Listeners>
<BeforeEdit Fn="onBeforeEdit" />
</Listeners>
</ext:GridPanel>
</form>
</body>
</html>