Kotagiri1222 Ответов: 1

Maskeditextender не привязывается к текстовому полю динамически в gridview


У меня есть замаскированный расширитель редактирования в моем gridview. Я показываю этот gridview динамически на основе типов, Если тип "T", он отображает только текстовое поле, если тип" DT", он отображает текстовое поле с календарем.

Я использую одно и то же текстовое поле, и в событии grid row databound я скрываю и показываю кнопку календаря. Но если я дам maskededitextender в gridview, то маска будет применена и для недатированных полей.

Я попытался дать фиктивное текстовое поле и сделать его targetcontrolid для maskededtextender, а в событии rowdatabound я устанавливаю targetcontrolid maskededitextender в мое текстовое поле, если тип-date. Но это не работает.

кто-нибудь может мне в этом помочь?

Что я уже пробовал:

Ниже приведен код события rowdatabound:

protected void grd_RowDataBound(отправитель объекта, GridViewRowEventArgs e)
{
пробовать
{
если (электронная.Подряд.RowType == DataControlRowType.Строкаданных)
{
MaskedEditExtender ME = (MaskedEditExtender)e. Row.FindControl ("MaskedEditExtender1");
TextBox txtValue1 = (TextBox)e. Row.FindControl("txtValue1");
TextBox txttest = (TextBox)e. Row.FindControl("txttest");
HiddenField hfInputType = (HiddenField)e. Row.FindControl("hfInputType");
ImageButton imgBtnFromDate = (ImageButton)e. Row.FindControl ("imgBtnFromDate");
Меня.TargetControlID = txttest.значение ClientID;
если(hfInputType.Значение=="ДТ")
{
txtValue1.Стиль.Добавить (HtmlTextWriterStyle.Дисплей, " блок");
imgBtnFromDate.Стиль.Добавить (HtmlTextWriterStyle.Дисплей, " блок");
Меня.TargetControlID = txtValue1.значение ClientID;
}
остальное, если(hfInputType.Значение=="У")
{
txtValue1.Стиль.Добавить (HtmlTextWriterStyle.Дисплей, " блок");
imgBtnFromDate.Стиль.Добавить (HtmlTextWriterStyle.Дисплей: "нет");
}
}
}
}


Asp.net код:

&ЛТ;как ASP:ImageButton с ИД="imgBtnFromDate" атрибут runat="сервер" стиль="дисплей: нет" Url_изображения="~/App_Themes/черный/картинки/календарь.формат PNG" /&ГТ;
< cc1:CalendarExtender ID=" ceFromDate "PopupButtonID=" imgBtnFromDate "runat=" сервер"
TargetControlID= "txtValue1" >

&ЛТ;СС1:MaskedEditExtender идентификатор="MaskedEditExtender1" атрибут runat="сервер" AcceptNegative="левой"
DisplayMoney=" Left "Mask=" 99/99/9999 " MaskType=" Date "MessageValidatorTip=" true"
>

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

удалите эту строку

ImageButton imgBtnFromDate = (ImageButton)e.Row.FindControl("imgBtnFromDate"); 
ME.TargetControlID = txttest.ClientID; // this is global scope, it will be applied to all controls. 
if(hfInputType.Value=="DT") 
{