如何从asp.net中的后台代码将TargetControlID Ajax日历扩展程序设置为GridView中的文本框控件

问题描述:

hi ..

我正在尝试从asp.net中的代码将TargetControlID ajax日历扩展程序设置为gridview中的文本框控件.我正在动态生成gridview列.在我的网格中,我在header之后的网格的第一行中添加了文本框.我想将日历扩展程序绑定到一个textbox.为此提供解决方案.

我的代码是

hi..

I am trying to set TargetControlID ajax calendar extender to textbox control in gridview from code behind in asp.net.I am generating gridview column dynamically.In my grid i am adding textbox in first row of grid after header.i want bind calender extender to one the textbox.provide solu for it.

my code is

While j < ds1.Tables(0).Columns.Count
Dim txtFilter As New TextBox
    txtFilter.ID = "txtFilter_" + j.ToString
    txtFilter.ClientIDMode = UI.ClientIDMode.Static
    txtFilter.AutoPostBack = False
    grvCtrl.Rows(0).Cells(j).Controls.AddAt(0, txtFilter)

    If Trim(ds.Tables(0).Columns(j).DataType.ToString).Substring(7) = "DateTime" Then
        CalendarExtender1.TargetControlID = DirectCast(grvCtrl.Rows(0).Cells(j).Controls.Item(0), System.Web.UI.WebControls.TextBox).ID
    End If

    grvCtrl.HeaderRow.Cells(j).Controls.AddAt(0, lnkSortCol)
    grvCtrl.Rows(0).Cells(j).Controls.AddAt(1, lnk)

j = j + 1
End While

我现在正在使用代码动态生成日历扩展器和文本框,并且现在可以正常工作.我的代码是:

i am now generating calender extender and textbox dynamically using code and it works now.My code is:

Dim calenderDate As New AjaxControlToolkit.CalendarExtender
                calenderDate.ID = "calenderDate_" + j.ToString
                calenderDate.TargetControlID = txtFilter.ID
                calenderDate.Format = "MM-dd-yyyy"
                calenderDate.CssClass = "CalenderExtender"
                grvCtrl.Rows(0).Cells(j).Controls.AddAt(2, calenderDate)