- PR -

[ASP.NET]DataGridのテキストを省略表示するには?

1
投稿者投稿内容
とせ
会議室デビュー日: 2004/07/15
投稿数: 14
投稿日時: 2005-01-19 16:55
お疲れ様です
表題の件ですが、DataGridのテンプレートカラムにDBの値をバインドして表示しております。
この「表示テキスト」を「省略表示(hogehoge...)」とすることはプロパティの設定で可能でしょうか?
マウスフォーカスで全文表示(ToolTipで)みたいなイメージを考えております。
経験ある方、ご教授よろしくお願いします

まえだ
環境:VisualStudio.Net2003+Windows2000+IIS5.0
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-01-20 09:29
こんにちは。期待に添えていなかったらすいません。

まず、最初にToolTipについてですが、DataGridのItemDataBound時にHeaderに関する
コントロールを取得し、ToolTipプロパティを設定してやります。この時、ToolTipを表
示する列はすべてテンプレート列でHeaderTemplate列にLabelを配置している事を前提
とします。

コード:
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        
    If ((e.Item.ItemType = ListItemType.Header))Then
        Dim lblHeaderText As Label
        lblHeaderText = CType(e.Item.Cells("列のインデックス").FindControl("HeaderのラベルのID"), Label)
        lblHeaderText.ToolTip = "Test"
    End If

End Sub




ここまでで、ToolTipは表示されるようになりますよね。

後は、HeaderTextの省略表示に関してですが、方法としては他にもあると思いますが、
自分でHeaderTextを書き換える方法しか私は思いつきません。申し訳ないです。どな
たかのアドバイスを待つべきかも???ただ私の方法は

コード:
DataGrid1.Columns("列インデックス").HeaderText = "省略表示文字"



これで、一通りは出来るのではないでしょうか。JavaScriptでやる方法とかもありそ
うなものですが。。。とにかく以上です。
1

スキルアップ/キャリアアップ(JOB@IT)