如何在GridView中禁用内联编辑?

时间:2012-12-22 08:52:53

标签: c# asp.net

我正在使用ASP.NET C#Grid View,我想编辑控件中显示在同一页面上的数据。但是当我写网格视图行编辑事件时它在网格视图行中显示文本框,任何人都可以帮助我如何使用rowediting事件在网格视图中禁用内联编辑?

<asp:GridView ID="gvItems" runat="server" AutoGenerateColumns="False" AllowPaging="True"
            BorderStyle="Solid" BorderWidth="1px" CellPadding="4" ForeColor="#333333" GridLines="None"
            OnPageIndexChanging="gvItems_PageIndexChanging" Width="901px"
            OnRowCommand="gvItems_RowCommand" OnSelectedIndexChanged="gvItems_SelectedIndexChanged" OnRowDataBound="gvItems_RowDataBound" OnRowEditing="gvItems_RowEditing">
            <AlternatingRowStyle BackColor="White" />
            <Columns>
                <asp:ButtonField  Text="Edit" CommandName="Change" />
                <asp:ButtonField  Text="Addend" CommandName="Addend"  />
                <asp:BoundField DataField="ItemID" HeaderText="ID" />
                <asp:BoundField DataField="Project" HeaderText="Project" SortExpression="Project" />
                <asp:BoundField DataField="Type" HeaderText="Type" />
                <asp:BoundField DataField="Release" HeaderText="Release" />
                <asp:BoundField DataField="Priority" HeaderText="Priority" />
                <asp:BoundField DataField="Severity" HeaderText="Severity" />
                <asp:BoundField DataField="Client" HeaderText="Client" />
                <asp:BoundField DataField="Status" HeaderText="Status" />
                <asp:BoundField DataField="Subject" HeaderText="Subject" />
                <asp:BoundField DataField="CreatedDate" DataFormatString="{0:d}" HeaderText="Created Date" />

                <asp:TemplateField>
                    <ItemTemplate>
                        <!--To fire the OnRowEditing event.-->
                        <asp:LinkButton ID="lbView" runat="server" CommandName="View"
                            Text="View" CommandArgument="<%# Container.DataItemIndex %>">
                        </asp:LinkButton>
                      <asp:HiddenField runat="server" ID="hdnItemID" Value='<%#Eval("ItemID") %>'>
                                    </asp:HiddenField>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>

            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
            <PagerSettings Mode="NumericFirstLast" />
            <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>

3 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,经过一番努力,我发现问题出现在CommandName的情况下。

我将修改更改为 edt ,将删除更改为 del ,然后gridViewName_RowEditing事件再也没有被解雇。

答案 1 :(得分:3)

从网格视图<EditItemTemplate></EditItemTemplate>中删除<asp:TemplateField></asp:TemplateField>

答案 2 :(得分:0)