help me, how to find the controls 'rdpIntrwDate' and 'txtInterviewDateHij' within radgrid editform using javascript?
Thanks for any suggestion
<
telerik:GridTemplateColumn
HeaderText
=
" Interview Date "
UniqueName
=
"InterviewDate"
DataField
=
"InterviewDate"
HeaderStyle-ForeColor
=
"Black"
>
<
EditItemTemplate
>
<
telerik:RadDatePicker
ID
=
"rdpIntrwDate"
runat
=
"server"
Width
=
"200px"
DateInput-AutoCompleteType
=
"Disabled"
AutoPostBack
=
"false"
SelectedDate='<%# Eval("InterviewDate")==DBNull.Value?DateTime.Today:Eval("InterviewDate") %>'
onkeydown="return (event.keyCode!=13);"
CssClass="PersonalDatePicker" DateInput-DateFormat="dd/MM/yyyy" DateInput-DisplayDateFormat="dd/MM/yyyy">
<
ClientEvents
OnDateSelected
=
"GrigToHij"
/>
</
telerik:RadDatePicker
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblIntrwDate"
runat
=
"server"
Text='<%# Eval("InterviewDate") %>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
" InterviewDateHij "
UniqueName
=
"InterviewDateHij"
DataField
=
"InterviewDateHij"
HeaderStyle-ForeColor
=
"Black"
>
<
EditItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtInterviewDateHij"
runat
=
"server"
Width
=
"200px"
Height
=
"20px"
ForeColor
=
"#0066FF"
>
<
ClientEvents
OnValueChanged
=
"HijToGreg"
/>
</
telerik:RadTextBox
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblDOBHij"
runat
=
"server"
Text='<%# Eval("InterviewDateHij") %>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
5 Answers, 1 is accepted

Please try with below code snippet.
http://jayeshgoyani.blogspot.in/2012/07/access-radgrid-on-client.html
Please check "Get Template Column Control" and "Access Control in Edit mode" in above link.
Access Another control which was in same level or in row
Thanks,
Jayesh Goyani

Try the following code to achieve your scenario.
C#:
protected
void
RadGrid1_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditFormItem && e.Item.IsInEditMode)
{
GridEditFormItem item = (GridEditFormItem)e.Item;
RadDatePicker pkr = (RadDatePicker)item.FindControl(
"rdpIntrwDate"
);
RadGrid1.Controls.Add(
new
LiteralControl(
"<script type='text/javascript'>window['pkr'] = '"
+ pkr.ClientID +
"';</script>"
));
}
}
function
GetValue()
{
var
pkr= $find(window[
'pkr'
]);
}
Thanks,
Shinu


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;
}
}
For achieving cascading comboboxes functionality in RadGrid InPlace edit mode, I suggest that you check the sample provided in the following post:
http://www.telerik.com/forums/radcombobox-cascading-inside-radgrid#GxsIQqyyPkqj1Za-mNbalg
As for accessing the combo on server-side you can use the FindControl method. For client-side, you can use the $telerik.findControl and findElement methods suggested in the following post:
http://www.telerik.com/forums/how-to-change-and-get-value-from-a-dropdownlist-in-a-radgrid-column#jIjRiaOYhkucLZ82pztwow
I hope this will prove helpful.
Regards,
Eyup
Telerik by Progress