【问题标题】:Looking to make date field on a gridview a link button?想要将 gridview 上的日期字段设为链接按钮?
【发布时间】:2013-01-10 19:40:19
【问题描述】:

我正在显示一个带有多个数据条目的网格视图,其中一个数据字段是日期,我希望用户能够单击网格视图上的任何日期,并使用它在同一页面上启动一个进程,这将包括隐藏网格视图并显示有关该特定日期的一般信息,不插入、更新或任何与数据库相关的内容,仅调用进程。现在通过从日历中选择并单击常规按钮手动完成相同的操作。

我怎样才能使这个字段只是一个链接按钮?

我已经尝试过以这种方式在 ASP 上手动添加字段:

<asp:GridView ID="myGrid" runat="server" CssClass="Gridview">
 <Columns>
  <asp:HyperLinkField Text="test"  />
 </Columns>
</asp:GridView>

但它只会创建一个我不需要的新字段。此外,它必须在代码隐藏中完成,因为这是我创建数据表的地方,该数据表稍后会发送到 gridview,如下所示:

Dim myTable As DataTable = New DataTable
Dim column As DataColumn
Dim row As DataRow

column = New DataColumn()
column.ColumnName = "ID"
myTable.Columns.Add(column)

column = New DataColumn()
column.ColumnName = "Date"
myTable.Columns.Add(column)

For myRow As Integer = 0 To days
 row = myTable.NewRow()
 row("ID") = "Some ID"
 row("Date") = datevalue.AddDays(myRow).ToString("dd/MM/yyyy")
 myTable.Rows.Add(row)
Next

myGrid.DataSource = myTable
myGrid.DataBind()

一切正常,但我需要将该日期字段设置为链接按钮,有什么想法吗?

【问题讨论】:

    标签: asp.net vb.net gridview datatable linkbutton


    【解决方案1】:

    您应该为此使用 TemplateField。

    <Columns>
      <asp:TemplateField>
         <ItemTemplate>
            <asp:LinkButton id="LinkButton1" Text="Click Me"            OnClick="LinkButton_Click" runat="server"/>
          </ItemTemplate>
         </asp:TemplateField>
    </Columns>
    

    代码隐藏:

    void LinkButton_Click(Object sender, EventArgs e) 
    {
       // Insert your code
    }
    

    您可能希望获得基于单击按钮的行的特定信息。您可以使用 Button 并将 CommandArgument 设置为标识符:

    <asp:Button ID="Button1" runat="server" Text="Click me"  CommandArgument='<%#Eval("YourColumn") %>'/>
    

    【讨论】:

      猜你喜欢
      • 2010-11-09
      • 1970-01-01
      • 2021-11-30
      • 2012-09-17
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多