2013-02-15 69 views
1

我用ASP.NET动态数据实体Web应用程序和ADO.NET实体数据模型创建了一个动态应用程序来修改一个sql表。Asp.net动态数据修改列大小

但我如何修改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 Value,它不会工作。

+0

只是一个随机的刺,但你的数据库列长22? – 2013-02-15 13:28:56

+1

没有列长度是300.如果我想编辑/插入/ showDetails该字段有/显示全长 – GermanSniper 2013-02-15 13:41:05

+0

奇怪,它必须在其他地方然后...你的gridview是绝对正确的 – 2013-02-15 13:42:59

回答

4

好,我解决了它。我从

private const int MAX_DISPLAYLENGTH_IN_LIST = 25; 

一个较高的值修改字段模板(text.ascx.cs)....

0

也许你输入了一些“maxlength”属性导致你的值都是22个字符Long。

这样的事情也许?

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

难道你有“绑定列”的,所以也许你应该用‘模板列’取代他们的,而不是让您可以控制怎么回事:

<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>