【问题标题】:Asp.net Dynamic Data modify column sizeAsp.net 动态数据修改列大小
【发布时间】:2013-02-15 12:50:13
【问题描述】:

我使用 ASP.NET 动态数据实体 Web 应用程序和 ADO.NET 实体数据模型创建了一个用于修改 sql 表的动态应用程序。

但是如何修改 gridView 的列宽呢?列很大,但数据将被剪切。

Table column width screenshot

在 *.edmx 文件中,MaxLength 设置为 300。

 <Property Name="foreign_data" Type="nvarchar" Nullable="false" MaxLength="300" /> 

Lists.aspx 中的网格视图如下所示:

             <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" EnablePersistedSelection="true"
            AllowPaging="True" AllowSorting="True" CssClass="DDGridView"
            RowStyle-CssClass="td" HeaderStyle-CssClass="th" CellPadding="6" 
            PageSize="15">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:DynamicHyperLink runat="server" Action="Edit" Text="Bearbeiten"
                        />&nbsp;<asp:LinkButton runat="server" CommandName="Delete" Text="Löschen"
                            OnClientClick='return confirm("Sind Sie sicher das Sie diesen Datensatz löschen möchten?");'
                        />&nbsp;<asp:DynamicHyperLink runat="server" Text="Details" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>

            <PagerStyle CssClass="DDFooter"/>        
            <PagerTemplate>
                <asp:GridViewPager runat="server" />
            </PagerTemplate>
            <EmptyDataTemplate>
                There are currently no items in this table.
            </EmptyDataTemplate>
        </asp:GridView>

那么我该如何控制长度。顺便说一句,每个字段在 22 个字符后被剪切!我搜索了整个解决方案,但没有找到更多的 MaxLength 值。如果我在 gridView 中设置 MaxLength 值,它不起作用。

【问题讨论】:

  • 只是一个随机的刺,但你的数据库列长度是 22 吗?
  • 没有列长度为 300。如果我想编辑/插入/showDetails 该字段具有/显示完整长度
  • 奇怪,它必须在其他地方......你的gridview是绝对正确的

标签: c# asp.net asp.net-dynamic-data


【解决方案1】:

好的,我解决了。我已经从

修改了字段模板(text.ascx.cs)
private const int MAX_DISPLAYLENGTH_IN_LIST = 25;

更高的价值....

【讨论】:

    【解决方案2】:

    也许您输入了一些“maxlength”属性,因为您的两个值都是 22 个字符长。

    可能是这样的吗?

    <asp:TextBox ID="txtmyValue" MaxLength="10" runat="server" ..../>
    

    你有没有“BoundField”,所以也许你应该用“TemplateField”代替它们,这样你就可以控制发生了什么:

    <asp:TemplateField HeaderText="my text value">
        <ItemTemplate>
            <asp:TextBox ID="txtmyValue" MaxLength="40" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "YOUR_BOUND_ITEM_NAME") %>'></asp:TextBox>
        </ItemTemplate>
    </asp:TemplateField>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-20
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 2014-09-04
      相关资源
      最近更新 更多