【问题标题】:Prevent GridView from resizing when clicking on The LinkButton单击 LinkBut​​ton 时防止 GridView 调整大小
【发布时间】:2013-08-23 07:36:34
【问题描述】:

如何防止我的网格在单击编辑链接按钮时调整大小?我只需要修复我的gridview..

请注意,当您单击编辑链接按钮时,会出现 2 个按钮:1 个用于更新,1 个用于取消,而在其他单元格中,文本框似乎会更新值,这就是我的网格正在调整大小的原因。我该如何解决这个问题?

这是我的 ASP 代码:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" onrowdatabound="GridView1_RowDataBound" 
        AutoGenerateColumns="False" Width="604px" 
        DataKeyNames="id,firstname,lastname,adress,email,telephone,birthday">

        <Columns>
        <asp:TemplateField>

                <ItemTemplate>
                      <asp:CheckBox id="Select" runat="server" OnCheckedChanged="CheckedChanged" AutoPostBack="false"/>
                      <asp:LinkButton  ID="idedit" CommandName="Edit" CausesValidation="true" runat="server"
                            ToolTip="Edit"  Text="Edit"/>
                      <asp:LinkButton ID="selectID" CommandName="Select" CausesValidation="true" runat="server"
                            ToolTip="Select"  Text="Select" />
                    </ItemTemplate>

                <EditItemTemplate>

                 <asp:LinkButton  ID="idupdate" CommandName="Update" runat="server" CausesValidation="false" Text="Update"
                            ToolTip="Update" OnClientClick="javascript:if(!confirm('Are you sure do you want to update this?')){return false;}" />
                        <asp:LinkButton  ID="idcancel" runat="server" CommandName="Cancel" CausesValidation="false"
                            Text="Cancel" ToolTip="Cancel"/>
                </EditItemTemplate>
                </asp:TemplateField>

            <asp:TemplateField HeaderText="firstname">
                <EditItemTemplate> 
                    <asp:TextBox ID="fnmaetxt" runat="server" Text='<%# Bind("firstname") %>'></asp:TextBox>
                    <%--<asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="fnmaetxt" Text="The first name field is required!"/>--%>
                </EditItemTemplate> 
                <ItemTemplate> 
                    <asp:Label ID="lblfirstname" runat="server" Text='<%# Bind("firstname") %>'></asp:Label> 
                </ItemTemplate> 
            </asp:TemplateField> 

            <asp:TemplateField HeaderText="lastname">
                <EditItemTemplate> 
                    <asp:TextBox ID="lnametxt" runat="server" Text='<%# Bind("lastname") %>'></asp:TextBox>
                    <%--<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="lnametxt" Text="The last name field is required!"
                                        runat="server" />--%>
                </EditItemTemplate> 
                <ItemTemplate> 
                    <asp:Label ID="lbllastname" runat="server" Text='<%# Bind("lastname") %>'></asp:Label> 
                </ItemTemplate> 
            </asp:TemplateField> 

            <asp:TemplateField HeaderText="adress">
                <EditItemTemplate> 
                    <asp:TextBox ID="adresstxt" runat="server" Text='<%# Bind("adress") %>'></asp:TextBox>
                </EditItemTemplate> 
                <ItemTemplate> 
                    <asp:Label ID="lbladress" runat="server" Text='<%# Bind("adress") %>'></asp:Label> 
                </ItemTemplate> 
            </asp:TemplateField> 

            <asp:TemplateField HeaderText="email">
                <EditItemTemplate> 
                    <asp:TextBox ID="emtailtxt" runat="server" Text='<%# Bind("email") %>'></asp:TextBox>
                    <%--<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="emtailtxt" Text="Not a Valid Email Address" SetFocusOnError="True" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />--%>
                </EditItemTemplate> 
                <ItemTemplate> 
                    <asp:Label ID="lblemail" runat="server" Text='<%# Bind("email") %>'></asp:Label> 
                </ItemTemplate> 
            </asp:TemplateField> 


           <asp:TemplateField HeaderText="telephone">
                <EditItemTemplate> 
                    <asp:TextBox ID="phonetxt" runat="server" Text='<%# Bind("telephone") %>'></asp:TextBox>
                    <%--<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="phonetxt" Text="Not a Valid phone number " SetFocusOnError="True" ValidationExpression="\d{8}"/>--%>
                </EditItemTemplate> 
                <ItemTemplate> 
                    <asp:Label ID="lbltelephone" runat="server" Text='<%# Bind("telephone") %>'></asp:Label> 
                </ItemTemplate> 
            </asp:TemplateField> 


           <asp:TemplateField HeaderText="birthday">
                <EditItemTemplate> 
                    <asp:TextBox ID="birthdaytxt" runat="server" Text='<%# Bind("birthday") %>'></asp:TextBox>
                </EditItemTemplate> 
                <ItemTemplate> 
                    <asp:Label ID="lblbirthday" runat="server" Text='<%# Bind("birthday") %>'></asp:Label> 
                </ItemTemplate> 
            </asp:TemplateField> 

        </Columns>

    </asp:GridView>

这是我在编辑事件中的代码:

Protected Sub GridView1_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
    GridView1.EditIndex = e.NewEditIndex
    GridView1.DataSource = x.selectProfile
    GridView1.DataBind()
End Sub

任何帮助将不胜感激

提前谢谢你

【问题讨论】:

  • 这个链接好像是你要找的:forums.asp.net/t/1115211.aspx/1
  • 这个链接对我没有帮助,因为我的问题有点不同
  • 我不确定这就是为什么我将其发布为评论,而不是作为答案。能否请您解释一下您的目标是什么?
  • 当我单击网格中的编辑链接按钮时,此链接将被其他两个链接按钮替换:更新和取消,网格变为可编辑,这就是为什么当我单击时我的网格正在调整大小编辑链接按钮,我需要防止这个调整大小的问题......你明白我的意思了吗?
  • 这是我最初的理解。在 winforms 中,您可以选择根本不允许用户调整 DataGridView 的大小。从我在这个链接中读到的内容(虽然没有测试过),我了解到这与 ASP.NET 中的 GridView 等效,即锁定数据网格,使用户根本无法影响其尺寸;这不是你想要的吗?

标签: asp.net css vb.net


【解决方案1】:

为您的链接按钮设置大小以避免 gridview 调整大小

<asp:LinkButton  ID="idcancel" runat="server" CommandName="Cancel" CausesValidation="false"  Text="Cancel" ToolTip="Cancel" width="100px" />

试试这个代码 page_load 设置你的gridview

gridview.Attributes.Add("style", "word-break:break-all; word-wrap:break-word")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2023-03-12
    • 2015-12-21
    • 1970-01-01
    • 2020-12-05
    • 2018-10-20
    相关资源
    最近更新 更多