2016-03-05 88 views

回答

0

可以在ASP.NET GridView使用TemplateField和有條件地設置Button知名度,像圖所示:

<asp:GridView runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="Status" HeaderText="Status" /> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Button runat="server" Text="Accept" 
       Visible='<%# Eval("Status")=="Accept" %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

希望這會有所幫助。

+0

這個怎麼樣的做法? 但它沒有按要求工作。 int count = GV_Borrorwer_Details.Rows.Count; 如果(計數> 0){ 如果 (e.Row.RowType!= DataControlRowType.DataRow) { 如果(e.Row.Cells [9]。文本== 「接受」) { Button按鈕= new Button(); button.Text =「返回」; button.ID + = 1; e.Row.Cells [13] .Controls.Add(button); } } } –

+0

C#背後的任何代碼? –

+0

我有點困惑:什麼不工作?問候, –

0

第一添加模板字段按鈕這樣

<asp:TemplateField HeaderText="status" ShowHeader="False"> 
      <ItemTemplate> 
       <asp:Button ID="btn" runat="server" CausesValidation="false" 
CommandName="Select" Text="button" /> 
      </ItemTemplate> 
     </asp:TemplateField> 

和代碼隱藏

protected void grid_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      Button btn = (Button)e.Row.FindControl("btn"); 





      if (e.Row.Cells[1].Text == "Accept")//replace 1 by your column(status) index in gridview 
      { 

       btn.Visible = true; 
      } 

      else 
      { 

       btn.Visible = false; 

      } 

     } 
    } 

,並添加代碼來此按鈕,以便將其添加在

 protected void grid_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) 
    { 

    //code 
    }