[英]Making values inside column clickable (fires click_event)
我有一個網格,我想使第一列中的值“ clickable”,以便它們觸發click事件。 第一列中的值是從sql服務器查詢中填充的。
做到這一點的最佳方法是什么?
下面是我的網格:
<asp:GridView runat="server" ID="HSMGrid"
AutoGenerateColumns="false"
DataKeyNames="Status"
OnRowCommand="grdvwSearchDepositTransaction_RowCommand" OnRowDataBound="grdSearch_RowDataBound" ShowHeaderWhenEmpty="true"
CssClass="grid" Width="550">
<Columns>
<asp:BoundField DataField="TransactionGroupsEntry.groupID" HeaderText="BatchID" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="TransactionGroupsEntry.bankNumber" HeaderText="Bank" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="TransactionGroupsEntry.branchNumber" HeaderText="Branch" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="TransactionGroupsEntry.cashInTicketAmount" HeaderText="Cash-In Ticket Amount" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="TransactionGroupsEntry.createdBy" HeaderText="Created By" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="TransactionGroupsEntry.dateCreated" HeaderText="Date Created" ItemStyle-CssClass="mediumColumn columnCenter" />
</Columns>
<EmptyDataTemplate>
<span style="font-weight: bold;">No Transactions have been entered</span>
</EmptyDataTemplate>
</asp:GridView>
編輯::這是我目前遵循第一個答案的建議:
您需要將第一列轉換為模板字段。 然后,模板字段的ItemTemplate將包含服務器端控件(即LinkButton)。 然后,此控件可以附加一個服務器端OnClick事件,該事件將處理服務器端邏輯。 下面是一個示例:
<asp:TemplateField HeaderText="BatchID">
<ItemTemplate>
<asp:LinkButton runat="server" ID="btnBatchId" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "TransactionGroupsEntry.groupID") %>' OnClick="btnBatchId_Click" Text='<%# DataBinder.Eval(Container.DataItem, "TransactionGroupsEntry.groupID") %>' />
</ItemTemplate>
</asp:TemplateField>
在文件背后的代碼中,單擊事件可能類似於以下示例。 我添加了解析/獲取與LinkButton關聯的ID的功能:
protected void btnBatchId_Click(object sender, EventArgs e) {
var linkButton = sender as LinkButton;
if (linkButton != null) {
var batchId = 0;
if (int.TryParse(linkButton.CommandArgument, out batchId)) {
// batchId variable should contain a valid integer value
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.