【问题标题】:how to retrieve the time from the TimeSelector in the gridview?如何从 gridview 中的 TimeSelector 检索时间?
【发布时间】:2012-01-29 11:35:46
【问题描述】:

我有一个gridview,里面有一个TimeSelector,但是如果通常它是一个TextBox,我将如何从gridview中检索时间,我们将使用它

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

那么我应该如何从 gridview 中的时间选择器中检索时间?

时间选择器控件:

<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>

【问题讨论】:

    标签: c# asp.net vb.net gridview time


    【解决方案1】:

    所以这里有一些信息告诉你如何做到这一点:

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

    2. 在您正在编写的 aspx 页面上。要查看有关如何制定寄存器标签的更多信息,请参阅this:
      &lt;%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="mkb"%&gt;

    3. 要使用TimePicker 又名TimeSelector(我知道这一点是因为我查看了.net 反射器中的dll,请参阅this)。您需要每页有一个ScriptManager
      &lt;asp:ScriptManager ID="ScriptManager1" runat="server"&gt;&lt;/asp:ScriptManager&gt;

    4. 要使用页面上的控件,请写:
      &lt;mkb:TimeSelector ID="TimeSelector1" runat="server"&gt;&lt;/mkb:TimeSelector&gt;

    这是您向页面添加单个 TimeSelector 的方式。

    以下是网格视图中TimeSelector 的完整示例:

    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
    

    【讨论】:

    • 但问题是当我输入TimePicker时,它有下划线,那是什么问题?
    • 你包含命名空间了吗?
    • 仍然不能这就是我注册程序集的方式
    • 当我将鼠标悬停在它上面时,它会要求我生成“课堂时间选择器”或生成新类型
    • 您是否已将 Timepicker 添加为项目的参考?
    猜你喜欢
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    相关资源
    最近更新 更多