与gridview中显示的问题有关
问题描述:
先生,我正在将数据插入数据库中.现在我正在gridview中检索它.一切都很好,但我想显示200px,2oopx大小的数据(作为任何国家的描述).但说明过大,并且在下一个国家/地区说明的其他单元格中重叠.
我的gridview代码是as.
Sir i m inserting my data in database. now i am retrieving it in a gridview. everything is ok, but i want to show the data (as description of any country) in size of 200px,2oopx. but the description is too large, and it is overlapping in other cells of next country description.
My code of gridview is as.
<asp:GridView ID="gridCountry" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<HeaderTemplate>ID</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblID" runat="server" Text='<%# Eval("_COUNTRYID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Country</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblCountry" runat="server" Text='<%# Eval("_COUNTRY") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Flag</HeaderTemplate>
<ItemTemplate>
<asp:Image runat="server" ImageUrl='<%# "~/Administrator/Images/" + Eval("_FLAG") %>' Width="50px" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Continent</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblContinent" runat="server" Text='<%# Eval("_CONTINENT") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Visa Des
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblVisa" runat="server" Text='<%# Eval("_VISA") %>' Width="150px" Height="150px"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Country Des
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblCountryDes" runat="server" Text='<%# Eval("_ABOUTCOUNTRY") %>' Height="150px" Width="150px"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Country Image 1
</HeaderTemplate>
<ItemTemplate>
<asp:Image ID="grdimgCountry1" runat="server" Width="150px" ImageUrl='<%# "~/Administrator/CountryImage/"+ Eval("_COUNTRYIMAGE1") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
country Image 2
</HeaderTemplate>
<ItemTemplate>
<asp:Image ID="grdimgCountry2" runat="server" Width="150px" ImageUrl='<%# "~/Administrator/CountryImage/" + Eval("_COUNTRYIMAGE2") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
created By
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblCreatedBy" runat="server" Text='<%# Eval("_CREATEDBY") %> '></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Created On
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="grdlblCreatedOn" runat="server" Text='<%# Eval("_CREATEDON") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答
您可以添加
You can add
style="overflow:scroll"
或
or
style="overflow:hidden"
贴上您的标签
或将CssClass添加到您的ItemTemplae
并设置此样式
to your label
or add CssClass to your ItemTemplae
and set this style
您可以为标签设置类别或样式.
Es:
Hi,
you can set class or style for your label.
Es:
<asp:label text="..." runat="server"
style="width:200px; height:200px; white-space: nowrap(or normal);
overflow: hidden(or scroll)"
</asp:label>
否则
您可以在rowdatabound事件中破坏文本:
otherwise
you can break you text in rowdatabound event:
<asp:label text='<%# breakMyString(Eval("_COUNTRY"), 60) %>' />
protected string breakMyString(string inString, int len)
{
string outString = inString;
string suffix = " more...";
if (!string.IsNullOrEmpty(inString) && inString.Length > len)
outString = string.Concat(inString.Substring(0, len - suffix.Length), suffix);
return outString;
}