如何使GridView单元格为文本框而不是标签



我的gridview应该从excel数据表中显示数据。我能够在网格中显示数据,但仅作为具有Excel值的标签。我正在尝试使其成为一个可编辑的GridView,因此保持在编辑模式中,这就是为什么我需要单元格为文本框的原因。我该怎么做?

视觉解释

<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>

添加更多带有文本框的ItemTemplate,以您的列名设置文本框值。不要忘记将AutoGenerateColumns设置为false

        <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>

最新更新