簡體   English   中英

關於ASP.NET Gridview

[英]About ASP.NET Gridview

嗨,我需要使用c#中的Gridview控件實現邏輯的幫助。

我有一個gridview,它有很多行。 每行都有一個供用戶單擊的按鈕。 在每個按鈕上,單擊“我正在更新數據庫中的選定記錄”。 現在,一旦更新了行,我需要隱藏該按鈕以防止僅對該特定行做出反應。
1.如果我用這個

<asp:CommandField ShowEditButton="True" EditText="select" />

,我無法隱藏這個。 2.如果我用這個

<asp:TemplateField HeaderText="Your Action">
  <ItemTemplate>
    <asp:Button
        ID="btnAccept"
        runat="server"
        Text="Accept" 
        OnClientClick="return confirm('Are you sure you want to Accept this offer?');" 
        onclick="btnAccept_Click" />
  </ItemTemplate>
</asp:TemplateField>

,我無法獲取所選的行索引。

我希望我已經清除了我想問的問題。 提前致謝。

使用Button控件的CommandArgument屬性指定用戶單擊的行:

<asp:TemplateField HeaderText="Your Action">
  <ItemTemplate>
    <asp:Button
        ID="btnAccept"
        runat="server"
        Text="Accept" 
        OnClientClick="return confirm('Are you sure you want to Accept this offer?');" 
        CommandName="Accept"
        CommandArgument='<%# Eval("RowId") %>'
        onclick="btnAccept_Click" />
  </ItemTemplate>
</asp:TemplateField>

在后面的代碼中:

void btnAccept_Click(Object sender, CommandEventArgs e) 
{
    if (e.CommandName == "Accept")
    {
       string rowId = e.CommandArgument;
    }
}

繼續針對1)的Canavars解決方案:

void btnAccept_Click(Object sender, CommandEventArgs e) 
{
    if (e.CommandName == "Accept")
    {
       string rowId = e.CommandArgument;
       ((Button)sender).Visible = false;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM