2012-01-29 35 views
2

我有一个GridView和里面我有一个TimeSelector,但我要去如何从GridView的原因时,如果通常它是我们将使用这个如何从GridView中的TimeSelector检索时间?

Dim rbSelect As TextBox = DirectCast(GridView2.Cells(1).FindControl("TextBox"), TextBox) 

所以我应该如何检索时间一个TextBox从gridview中的时间选择器?

时间选择器控件: <%@注册大会= “TimePicker” 命名空间= “MKB.TimePicker” 的TagPrefix = “CC1” %>

<ItemTemplate> 
<table style="width: 79%; height: 31px;"> 

<tr> 
<td class="style1"> 
<asp:Label ID="Label1" runat="server" Text="Time to start:"></asp:Label> 
</td> 
<td> 
    <cc1:TimeSelector ID="TimeSelector3" runat="server" AllowSecondEditing="false" DisplaySeconds="False" Height="25px" MinuteIncrement="15" Width="150px" /> 
</td> 
</tr> 

<tr> 
<td> 
    <asp:Button ID="Button1" runat="server" Text="Button" 
            onclick="Button1_Click" /> 
</td> 
    </tr> 

</table> 
</ItemTemplate> 
<ControlStyle Width="100px" /> 
<ItemStyle Width="210px" /> 
</asp:TemplateField> 

回答

0

所以这里是一些信息,你如何做到这一点:

  1. 添加对TimePicker.dll的引用。查看更多关于它的信息here。我刚才的选取器是this

  2. 在您正在编写的aspx页面上。要查看有关如何制定的详细信息登记标签看到this
    <%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="mkb"%>

  3. 要使用TimePicker又名TimeSelector(我知道这是因为我看了看在.net反射的dll看到this)。您需要每页有一个ScriptManager
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

  4. 要利用页面写入控制:
    <mkb:TimeSelector ID="TimeSelector1" runat="server"></mkb:TimeSelector>

这是你如何添加一个TimeSelector到你的页面。

这里是一个TimeSelector里面一个GridView的一个完整的例子:

Default.aspx的

<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="mkb"%> 
<%@ Page Title="Home Page" Language="vb" AutoEventWireup="false" 
    CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %> 
<body> 
    <form id="form1" runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
    <asp:GridView ID="gvTest" runat="server"> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <mkb:TimeSelector ID="TimeSelector1" runat="server"></mkb:TimeSelector> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
    </form> 
</body> 

Default.aspx.vb

Public Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim ls As New List(Of String)() 
     ls.Add("Test") 
     ls.Add("Test2") 
     gvTest.DataSource = ls 
     gvTest.DataBind() 
    End Sub 

    Private Sub gvTest_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvTest.RowDataBound 
     If e.Row.RowType = DataControlRowType.DataRow Then 
      Dim picker As MKB.TimePicker.TimeSelector = DirectCast(e.Row.FindControl("TimeSelector1"), MKB.TimePicker.TimeSelector) 
     End If 
    End Sub 
    Private Sub Save() 
     For Each row As GridViewRow In gvTest.Rows 
      Dim picker As MKB.TimePicker.TimeSelector = DirectCast(row.FindControl("TimeSelector1"), MKB.TimePicker.TimeSelector) 
     Next 
    End Sub 
End Class 
+0

但问题是当我输入TimePicker时,它有下划线,那么问题是什么? – actKing 2012-01-29 16:23:43

+0

您是否包含名称空间? – Arion 2012-01-29 17:31:30

+0

这个名字是MKB.TimePicker – actKing 2012-01-29 18:06:41