2016-06-29 1 views
0

Meine Gridview soll Daten aus einem Excel-Datenblatt anzeigen. Ich kann die Daten im Raster aber nur als Beschriftungen mit den Excel-Werten anzeigen. Ich versuche, es zu einem editierbaren Gridview zu machen und halte mich daher im Bearbeitungsmodus, weshalb ich die Zellen als Textfelder brauche. Wie kann ich das machen?Wie kann ich Gridview-Zellen Textfelder statt Etiketten machen?

Visual Explanation

<asp:GridView ID="GridView4" runat="server" CellPadding="4" ForeColor="#333333" 
      GridLines="None" OnRowCommand="GridView4_RowCommand" 
      OnSelectedIndexChanged="GridView4_SelectedIndexChanged"> 
      <AlternatingRowStyle BackColor="White" /> 
      <Columns> 
       <asp:TemplateField ShowHeader="False"> 
        <ItemTemplate> 
         <asp:LinkButton OnClick="UpdateRow_Click" 
          ID="LinkButton1" 
          runat="server" 
          CausesValidation="false" 
          CommandName="Update" 
          Text="Update"> 
         </asp:LinkButton> 
        </ItemTemplate> 
       </asp:TemplateField> 

      </Columns> 
      <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" /> 
      <RowStyle BackColor="#FFFBD6" ForeColor="#333333" /> 
      <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /> 
      <SortedAscendingCellStyle BackColor="#FDF5AC" /> 
      <SortedAscendingHeaderStyle BackColor="#4D0000" /> 
      <SortedDescendingCellStyle BackColor="#FCF6C0" /> 
      <SortedDescendingHeaderStyle BackColor="#820000" /> 
     </asp:GridView> 

Antwort

0

mehr hinzufügen ItemTemplate mit Textbox darin, Satz Textfelder Wert mit Ihren Spalten Namen. und vergessen Sie nicht AutoGenerateColumns auf false zu setzen.

 <Columns> 
      <asp:TemplateField ShowHeader="False"> 
       <ItemTemplate> 
        <asp:LinkButton OnClick="UpdateRow_Click" 
         ID="LinkButton1" 
         runat="server" 
         CausesValidation="false" 
         CommandName="Update" 
         Text="Update"> 
        </asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:TextBox 
         ID="textBox1" 
         runat="server" 
         Text='<%#Eval("Column1")>'> 
        </asp:TextBox> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:TextBox 
         ID="textBox2" 
         runat="server" 
         Text='<%#Eval("Column2")%>'> 
        </asp:TextBox> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:TextBox 
         ID="textBox3" 
         runat="server" 
         Text='<%#Eval("Column3")%>'> 
        </asp:TextBox> 
       </ItemTemplate> 
      </asp:TemplateField> 

     </Columns> 
+0

, die nicht funktionierten, meine Gridview nicht mehr angezeigt, die Informationen aus dem Excel-Blatt:/ Es zeigt jetzt nur eine Spalte mit Text hat mit <% Eval („Mobile“)%> drin. Selbst die Schaltfläche Hochladen ist verschwunden – ytba92

+0

den Code kopieren Ich habe einige Korrekturen vorgenommen – Mert

+0

Die Gridview zeigt jetzt nur die letzte Spalte der Excel-Tabelle an. Selbst wenn ich das Design der Gridview betrachte, zeigt es nur eine Spalte mit datengebundenen Textboxen und noch keine Update-Schaltfläche. – ytba92