gridview

时间:2016-08-19 10:37:34

标签: c# asp.net ajaxcontroltoolkit

我的gridview中有一个Masked编辑扩展器。我正在根据类型动态显示这个gridview,如果类型是' T'它只显示文本框,如果类型是' DT'它显示带有日历的文本框。

我使用相同的文本框,并在网格行数据绑定事件中,我隐藏并显示日历按钮。但是如果我在gridview中给出maskededitextender,那么掩码也会应用于nondate字段。

我尝试通过给出一个虚拟文本框并将其作为maskededtextender的targetcontrolid,并在rowdatabound事件中,如果类型是日期,我将maskededitextender的targetcontrolid设置为我的文本框。但它没有用。

有人可以帮我这个吗?

下面是rowdatabound事件代码:

protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                     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");  
                     ME.TargetControlID = txttest.ClientID;  
                     if(hfInputType.Value=="DT")  
                     {  
                        txtValue1.Style.Add(HtmlTextWriterStyle.Display, "block");  
                        imgBtnFromDate.Style.Add(HtmlTextWriterStyle.Display, "block");  
                        ME.TargetControlID = txtValue1.ClientID;  
                     }  
                    else if(hfInputType.Value=="U")  
                     {  
                        txtValue1.Style.Add(HtmlTextWriterStyle.Display, "block");  
                        imgBtnFromDate.Style.Add(HtmlTextWriterStyle.Display, "none");  
                     }  
                }  
            }  
        }  

Asp.net代码:

<asp:ImageButton ID="imgBtnFromDate" runat="server" Style="display: none" ImageUrl="~/App_Themes/Black/Images/Calendar.png" />  
                                                        <cc1:CalendarExtender ID="ceFromDate" PopupButtonID="imgBtnFromDate" runat="server"
                                                            TargetControlID="txtValue1">  
                                                        </cc1:CalendarExtender>  
                                                        <cc1:MaskedEditExtender ID="MaskedEditExtender1" runat="server" AcceptNegative="Left"
                                                        DisplayMoney="Left" Mask="99/99/9999" MaskType="Date" MessageValidatorTip="true"
                                                        OnFocusCssClass="MaskedEditFocus" OnInvalidCssClass="MaskedEditError" TargetControlID="txttest"
                                                        AutoComplete="true" SkinID="TextBoxWatermarkExtenderSkin" UserDateFormat="MonthDayYear">
                                                       </cc1:MaskedEditExtender>

0 个答案:

没有答案