Asp.net动态数据修改列大小

时间:2013-02-15 12:50:14

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

我使用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值,它就会工作。

2 个答案:

答案 0 :(得分:4)

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

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

更高的价值......

答案 1 :(得分:0)

也许你输入了一些“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>