]<asp:GridView ID="GridView2" runat="server" BackColor="White"   
  BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4"   
  Width="950px" AutoGenerateColumns="False" DataKeyNames="Id1"   
  onrowdatabound="GridView2_RowDataBound">
  <RowStyle BackColor="White" ForeColor="Black" />
  <Columns>
  <asp:BoundField DataField="no" HeaderText="学号" />
  <asp:BoundField DataField="name" HeaderText="姓名" />
  <asp:TemplateField HeaderText="入团时间">
  <EditItemTemplate>
  <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Checkindt") %>'></asp:TextBox>
  </EditItemTemplate>
  <ItemTemplate>
  <%-- <asp:Label ID="Label1" runat="server" Text='<%# Bind("Accesstime") %>'></asp:Label>--%>
  <%#Eval("Checkindt").ToString() == "" ? "" : Convert.ToDateTime(Eval("Checkindt").ToString()).ToString("yyyy-MM-dd")%>
  </ItemTemplate>
  </asp:TemplateField>
  <asp:TemplateField HeaderText="入党时间">
  <EditItemTemplate>
  <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Mo0") %>'></asp:TextBox>
  </EditItemTemplate>
  <ItemTemplate>
  <%-- <asp:Label ID="Label1" runat="server" Text='<%# Bind("Accesstime") %>'></asp:Label>--%>
  <%#Eval("Mo0").ToString() == "" ? "" : Convert.ToDateTime(Eval("Mo0").ToString()).ToString("yyyy-MM-dd")%>
  </ItemTemplate>
  </asp:TemplateField>
  <asp:BoundField HeaderText="申请时间" DataField="Applicationdate"/>
  <asp:BoundField DataField="First" HeaderText="培训开始时间" />
  <asp:BoundField DataField="aftertraindate" HeaderText="培训结束时间" />
    
  <asp:TemplateField HeaderText="是否审批">
  <EditItemTemplate>
  <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("IS1") %>'></asp:TextBox>
  </EditItemTemplate>
  <ItemTemplate>
  <asp:Label ID="Label2" runat="server" Text= <%#(bool)Eval("IS1")?"是" : "否"%>> </asp:Label>     </ItemTemplate>
  </asp:TemplateField>
    
  <asp:CommandField ShowDeleteButton="True" />
    
  <asp:TemplateField HeaderText="审批">   
  <ItemTemplate>
  <asp:Button ID="Button2" runat="server" Text="审批" onclick="Button2_Click" />
  </ItemTemplate>
  </asp:TemplateField>
    
  </Columns>
  <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
  <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
  <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
  <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="Black" />
  </asp:GridView>判断当gridview 的某行是否审批值显示是“否”时,该行的button2的属性为未审批并且设置button2的enabled=true,当gridview 的某行是否审批值显示是“是”时,该行的button2的属性为已审批,并且设置button2的enabled=false。  
 
 
 
 
 

解决方案 »

  1.   

    使用属性绑定<asp:Button ID="Button2" runat="server" Text="审批" onclick="Button2_Click"  
    Enabled='<%#((bool)Eval("IS1"))==false?true:false'/>
      

  2.   

    用OnRowDataBound行绑定事件判断,根据审批值设置每行的Button2是否可用。 Button btn = (Button )(e.Row.Cells[8].FindControl("Button2"));
     Lable Label2= ( Lable )(e.Row.Cells[7].FindControl("Label2"));if(Label2.Text=='是')
    {
    btn.Enabled=false;
    }
    else
    {
    btn.Enabled=true;}