Hi,
I have two radcombobox control in edititemtemplate and I have to populate ddlunit by ddlOffice selected value in Radgrid1_prerender event.
Please look at my code and sugest me how can I do because if I do officelist.selected value.I am getting the populated combobox value instead of the selected value
<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" runat="server" AllowAutomaticDeletes="True"
AllowAutomaticInserts="True" OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted"
OnPreRender="RadGrid1_PreRender" AllowAutomaticUpdates="True" AllowPaging="True"
AutoGenerateColumns="False" AutoGenerateEditColumn="true" OnBatchEditCommand="RadGrid1_BatchEditCommand" OnNeedDataSource="RadGrid1_NeedDataSource1" OnItemDataBound="RadGrid1_ItemDataBound" GroupPanelPosition="Top">
<MasterTableView EditMode="Batch" DataKeyNames="OfficeName,OfficeKey,Unit,OfficeUnitKey" CommandItemDisplay="Top">
<BatchEditingSettings EditType="Cell" />
<SortExpressions>
<telerik:GridSortExpression FieldName="AhwhKey" SortOrder="Descending" />
</SortExpressions>
<Columns>
<telerik:GridTemplateColumn HeaderText="OfficeKey" DataField="OfficeKey" UniqueName="OfficeKey" >
<ItemTemplate>
<%-- '<%# Eval("OfficeName")%>'--%>
<asp:Label ID="Label1" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "OfficeName") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<%-- <telerik:RadDropDownList runat="server" ID="ddlOffice" />--%>
<telerik:RadComboBox runat="server" ID="ddlOffice" onclientselectedindexchanged="OnClientSelectedIndexChanged" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="OfficeUnitKey" DataField="OfficeUnitKey" UniqueName="OfficeUnitKey" >
<ItemTemplate>
<asp:Label ID="Label2" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Unit") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlUnit" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowKeyboardNavigation="true"></ClientSettings>
</telerik:RadGrid>
C# code:
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
// if ()
{
XmlNode xnTboffice = default(XmlNode);
xnTboffice = tbws.GetTBOfficeWithofficekey();
DataTable dt = new DataTable();
dt.Columns.Add("OfficeKey", typeof(string));
dt.Columns.Add("OfficeName", typeof(string));
DataRow dr = dt.NewRow();
if (xnTboffice["TBResponse"].InnerXml.Contains("UNSUCCESS"))
{
dr["OfficeKey"] = xnTboffice["TBResponse"].SelectSingleNode("Message").InnerText.ToString();
dt.Rows.Add(dr);
}
else
{
foreach (XmlNode listItem in xnTboffice)
{
DataRow drr = dt.NewRow();
drr["OfficeKey"] = listItem.SelectSingleNode("OfficeKey").InnerText;
drr["OfficeName"] = listItem.SelectSingleNode("OfficeName").InnerText;
dt.Rows.Add(drr);
}
}
// GridTableView masterTable = (sender as RadGrid).MasterTableView;
RadComboBox Officelist = (RadGrid1.MasterTableView.GetBatchColumnEditor("OfficeKey") as GridTemplateColumnEditor).ContainerControl.FindControl("ddlOffice") as RadComboBox;
Officelist.DataSource = dt;// binding to datatable
Officelist.DataTextField = "officeName";
Officelist.DataValueField = "OfficeKey";
Officelist.DataBind();
////////////********Unit *****///////////////////////
XmlNode xnTbUnit = default(XmlNode);
xnTbUnit = tbintk.TBGetUnitByOffice("0");
DataTable dtUnit = new DataTable();
dtUnit.Columns.Add("Unit", typeof(string));
dtUnit.Columns.Add("OfficeUnitKey", typeof(string));
DataRow drUnit = dtUnit.NewRow();
if (xnTbUnit["TBResponse"].InnerXml.Contains("UNSUCCESS"))
{
drUnit["OfficeUnitKey"] = xnTbUnit["TBResponse"].SelectSingleNode("Message").InnerText.ToString();
dtUnit.Rows.Add(drUnit);
}
else
{
foreach (XmlNode listItem in xnTbUnit)
{
DataRow drrUnit = dtUnit.NewRow();
drrUnit["Unit"] = listItem.SelectSingleNode("Unit").InnerText;
drrUnit["OfficeUnitKey"] = listItem.SelectSingleNode("OfficeUnitKey").InnerText;
dtUnit.Rows.Add(drrUnit);
}
}
RadComboBox Unitlist = (RadGrid1.MasterTableView.GetBatchColumnEditor("OfficeUnitKey") as GridTemplateColumnEditor).ContainerControl.FindControl("ddlUnit") as RadComboBox;
Unitlist.DataSource = dtUnit;// binding to datatable
Unitlist.DataTextField = "Unit";
Unitlist.DataValueField = "OfficeUnitKey";
Unitlist.DataBind();
}
protected void RadGrid1_NeedDataSource1(object sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = this.AdoptiveServiceHistTable;
}
public DataTable AdoptiveServiceHistTable
{
get
{
// DataTable res = (DataTable)this.Session["CustomersTable"];
DataTable dt = new DataTable();
try
{
// lblMessag.Text = "";
if (ADHIDVal.Text != "")
{
XmlNode xnTbadpthm = default(XmlNode);
xnTbadpthm = tbintk.TBGetAdoptHome(ADHIDVal.Text);
dt.Columns.Add("AhwhKey", typeof(string));
dt.Columns.Add("WrkrName", typeof(string));
dt.Columns.Add("OfficeName", typeof(string));
dt.Columns.Add("Unit", typeof(string));
dt.Columns.Add("OfficeUnitKey", typeof(string));
dt.Columns.Add("StartDate", typeof(string));
dt.Columns.Add("EndDate", typeof(string));
dt.Columns.Add("SupvName", typeof(string));
dt.Columns.Add("WrkrId", typeof(string));
dt.Columns.Add("AhwhAhKey", typeof(string));
dt.Columns.Add("OfficeKey", typeof(string));
dt.Columns.Add("AHWH_TEXT", typeof(string));
DataRow dr = dt.NewRow();
if (xnTbadpthm["TBResponse"].InnerXml.Contains("UNSUCCESS"))
{
dr["AhwhKey"] = xnTbadpthm["TBResponse"].SelectSingleNode("Resp").SelectSingleNode("Message").InnerText.ToString();
dt.Rows.Add(dr);
}
else
{
foreach (XmlNode listItem in xnTbadpthm)
{
DataRow drr = dt.NewRow();
drr["AhwhKey"] = listItem.SelectSingleNode("AhwhKey").InnerText;
drr["WrkrName"] = listItem.SelectSingleNode("WrkrName").InnerText;
drr["OfficeName"] = listItem.SelectSingleNode("OfficeName").InnerText;
drr["Unit"] = listItem.SelectSingleNode("Unit").InnerText;
drr["OfficeUnitKey"] = listItem.SelectSingleNode("OfficeUnitKey").InnerText;
drr["StartDate"] = listItem.SelectSingleNode("StartDate").InnerText;
drr["EndDate"] = listItem.SelectSingleNode("EndDate").InnerText;
drr["SupvName"] = listItem.SelectSingleNode("SupvName").InnerText;
drr["WrkrId"] = listItem.SelectSingleNode("WrkrId").InnerText;
drr["AhwhAhKey"] = listItem.SelectSingleNode("AhwhAhKey").InnerText;
drr["OfficeKey"] = listItem.SelectSingleNode("OfficeKey").InnerText;
drr["AHWH_TEXT"] = listItem.SelectSingleNode("AHWH_TEXT").InnerText;
dt.Rows.Add(drr);
}
}
//RadGrid1.DataSource = dt;
}
}
catch (Exception ex)
{
throw ex;
}
return dt;
}
}
protected void btnSearch_Click(object sender, EventArgs e)
{
try
{
RadGrid1.Visible = true;
// lblMessag.Text = "";
XmlNode xnTbadpthm = default(XmlNode);
xnTbadpthm = tbintk.TBGetAdoptHome(ADHIDVal.Text);
DataTable dt = new DataTable();
dt.Columns.Add("AhwhKey", typeof(string));
dt.Columns.Add("WrkrName", typeof(string));
dt.Columns.Add("OfficeName", typeof(string));
dt.Columns.Add("Unit", typeof(string));
dt.Columns.Add("OfficeUnitKey", typeof(string));
dt.Columns.Add("StartDate", typeof(string));
dt.Columns.Add("EndDate", typeof(string));
dt.Columns.Add("SupvName", typeof(string));
dt.Columns.Add("WrkrId", typeof(string));
dt.Columns.Add("AhwhAhKey", typeof(string));
dt.Columns.Add("OfficeKey", typeof(string));
dt.Columns.Add("AHWH_TEXT", typeof(string));
DataRow dr = dt.NewRow();
if (xnTbadpthm["TBResponse"].InnerXml.Contains("UNSUCCESS"))
{
dr["AhwhKey"] = xnTbadpthm["TBResponse"].SelectSingleNode("Resp").SelectSingleNode("Message").InnerText.ToString();
dt.Rows.Add(dr);
//lblMessag.Text = "No Records Found";
RadGrid1.Visible = false;
}
else
{
foreach (XmlNode listItem in xnTbadpthm)
{
DataRow drr = dt.NewRow();
drr["AhwhKey"] = listItem.SelectSingleNode("AhwhKey").InnerText;
drr["WrkrName"] = listItem.SelectSingleNode("WrkrName").InnerText;
drr["OfficeName"] = listItem.SelectSingleNode("OfficeName").InnerText;
drr["Unit"] = listItem.SelectSingleNode("Unit").InnerText;
drr["OfficeUnitKey"] = listItem.SelectSingleNode("OfficeUnitKey").InnerText;
drr["StartDate"] = listItem.SelectSingleNode("StartDate").InnerText;
drr["EndDate"] = listItem.SelectSingleNode("EndDate").InnerText;
drr["SupvName"] = listItem.SelectSingleNode("SupvName").InnerText;
drr["WrkrId"] = listItem.SelectSingleNode("WrkrId").InnerText;
drr["AhwhAhKey"] = listItem.SelectSingleNode("AhwhAhKey").InnerText;
drr["OfficeKey"] = listItem.SelectSingleNode("OfficeKey").InnerText;
drr["AHWH_TEXT"] = listItem.SelectSingleNode("AHWH_TEXT").InnerText;
dt.Rows.Add(drr);
}
}
RadGrid1.DataSource = dt;
RadGrid1.DataBind();
}
catch (Exception ex)
{
throw ex;
}
}