我想要做的就是在gridview的标题中放置一个asp:按钮.假设您有一个包含3列的网格视图 - id,name,family.所以,而不是标题[id,name,family]我希望它是[id,name,asp:button] - 所以按钮会有它的动作当然.
谢谢,罗马.
Ste*_*ook 12
您需要采取的方法是将所需的GridView列设为模板字段.当您使用模板字段时,您可以将任何asp.net控件粘贴到gridview控件的每个主要部分(标题,项目,页脚等).我没有测试过这个,但原则上它看起来像这样:
<asp:GridView ID="Gridview1" runat="server">
<Columns>
<asp:BoundField DataField="yourDbColumnName" HeaderText="id" />
<asp:BoundField DataField="yourDbColumnName" HeaderText="name" />
<asp:TemplateField>
<HeaderTemplate>
<asp:Button runat="server" ID="btnFamily" CommandName="FamilyClicked" />
</HeaderTemplate>
<ItemTemplate>
<asp:Literal runat="server" ID="litFamily" Text='<%# EVAL("YourDbColumnValue") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
要"捕获"按钮的单击事件并使用它执行某些操作,您需要使用GridView的RowCommand事件(这是一个起点 - 再次未经测试):
Protected Sub Gridview1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles Gridview1.RowCommand
If e.CommandName = "FamilyClicked" Then
' they clicked by grid view header's asp:button control...
Response.Write("TEST")
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
这里的神奇之处在于分配按钮的CommandName属性(在这种情况下,我将其设置为"FamilyClicked",但它可以是您想要的任何内容).
以下是GridView使用的模板字段技术的一些基础知识 - 链接文本
希望有所帮助.
这些实际上是 LinkButton。您可以使用 CSS 为它们提供真实按钮的外观和感觉。
然而,它很难优雅,而设计趋势实际上是使用链接而不是按钮(看看你喜欢的任何流行的网络应用程序,包括这个)
| 归档时间: |
|
| 查看次数: |
21876 次 |
| 最近记录: |