0

データセットを使用してグリッドビューを作成したいのですが、データバインド後にいくつかの列を非表示にしています。また、Descriptin 列の最初の 50 文字を表示する必要もあります。どうやってやるの?ここに私のコードがあります

protected void grid_all_posts_DataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[0].Visible = false;
    e.Row.Cells[1].Visible = false;

     // I want to display only substring in Gridview
     e.Row.Cells[3].Text = e.Row.Cells[3].Text.ToString().Substring(0,50);
}

明確であることを願っています

4

2 に答える 2

2

一定数の文字のみを表示する代わりに、CSS3text-overflowプロパティの使用を検討してください。このプロパティを使用して、最大幅をピクセル単位で指定し、省略記号を表示して、より多くのテキストが利用可能であることを示すことができます。

<div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:150px">
    <span title="Put your full text here">
        This is some really long text. We want it to cut off after a specified number of pixels, and show the elipses to indicate that more text is available.
    </span>
</div>

上記の例では、テキスト全体をツールチップ/タイトルに配置できます。これは、ユーザーがテキストの上にカーソルを置いたときに表示できます。

于 2013-02-11T18:48:09.713 に答える
0

このエラーは SubString メソッドのものです。文字列長が 50 未満の場合 部分文字列上昇例外

最後の行コードを次のように置き換えます。

e.Row.Cells[3].Text = (e.Row.Cells[3].Text.Length>50) ? e.Row.Cells[3].Text.ToString().Substring(0,50) : e.Row.Cells[3].Text;

このコードは、最初に文字列の長さをチェックし、必要に応じて部分文字列を呼び出します。

于 2013-02-11T19:11:01.863 に答える