Динамические данные Asp.net изменяют размер столбца

Я создал с помощью ASP.NET Dynamic Data Entities Web App и ADO.NET Entity Data Model динамическое приложение для изменения таблицы SQL.

Но как я могу изменить ширину столбца gridView? Столбцы большие, но данные будут обрезаны.

Скриншот ширины столбца таблицы

В файле *.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. Если я установлю MaxLength Value в gridView, он не будет работать.

2 ответа

Решение

Хорошо, я решил это. Я изменил шаблон поля (text.ascx.cs) из

private const int MAX_DISPLAYLENGTH_IN_LIST = 25;

к более высокой стоимости....

Возможно, вы ввели какой-либо атрибут 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>
Другие вопросы по тегам