1

製品情報を表示するグリッドビューがあります (以下のコード)。長い説明がある場合は最初の数個のみが表示されるように説明フィールドを制限し、画像列に収まるように画像のサイズを変更します (そして、画像、説明欄が他より少し大きい

ありがとう

<asp:GridView ID="gvProducts" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductId" OnRowDeleting="gvProducts_RowDeleting" OnSelectedIndexChanged="gvProducts_SelectedIndexChanged">
    <Columns>
        <asp:CommandField ShowSelectButton="True" />
        <asp:BoundField DataField="Productname" HeaderText="Name" />
        <asp:BoundField DataField="ProductDescription" HeaderText="Description"  />
        <asp:BoundField DataField="ProductSupplier" HeaderText="Supplier" />
        <asp:BoundField DataField="ProductCategory" HeaderText="Category" />
        <asp:BoundField DataField="ProductSubCategory" HeaderText="SubCategory" />
        <asp:BoundField DataField="ProductVAT" HeaderText="VAT" />
        <asp:BoundField DataField="ProductStock" HeaderText="Stock" />
        <asp:ImageField DataImageUrlField="ProductImage" HeaderText="Image"/>
        <asp:CheckBoxField DataField="ProductActive" HeaderText="Active" />
        <asp:CommandField ButtonType="Button" ShowDeleteButton="True" />
    </Columns>
    <SelectedRowStyle CssClass="selectedrow" />
</asp:GridView>
4

5 に答える 5

1

cssを使用して、表示される説明テキストを制限できます。このような....

<asp:GridView ID="gvProducts" runat="server" CssClass="GridCSS" AutoGenerateColumns="False" DataKeyNames="ProductId" OnRowDeleting="gvProducts_RowDeleting" OnSelectedIndexChanged="gvProducts_SelectedIndexChanged">
    <Columns>
-----------------------
-----------
---------
<asp:BoundField DataField="ProductDescription" HeaderText="Description" ItemStyle-CssClass="limittext" />
------------------
---------
-------------

</Columns>

</asp:GridView>

CSS スタイル:

.GridCSS {
        table-layout:fixed; 
        width:100%; 
    }
    .GridCSS .limittext{
        overflow: hidden; 
        text-overflow: ellipsis; 
        white-space: nowrap;        
    }
于 2012-12-24T18:49:12.783 に答える
0

fw 4.5のマスクまたはJquery Maskのような外部プラグを使用できます。またはそれらをテンプレートアイテムにして、 <%# Eval("ProductDescription").SubString(0,50) %> のようなコードを入れることができます

于 2012-12-24T15:24:48.307 に答える
0

これを試して

<asp:TemplateField HeaderText="Description">
<ItemTemplate>

<%# Eval("ProductDescription").ToString().Length > 50 ? Eval("ProductDescription").ToString().Substring(0,50)+"..." : Eval("ProductDescription").ToString() %>

</ItemTemplate>
</asp:TemplateField>

テキストが 50 文字を超える場合は最初の 50 文字を表示し、それ以外の場合はテキスト全体を表示します。

もう 1 つのオプションは、データベースまたは Product オブジェクトから shortDescription を返すことです。

 public string ShortDescription
 {
    get 
    { 
        return ProductDescription.Length > 50 ? ProductDescription.Substring(0,50) : ProductDescription;
    }
 }
于 2012-12-24T16:24:24.583 に答える