asp.net取り戻すまたは結合テキストTemplateFieldのフロント

GridViewの最も使用される1はBoundFieldで、TemplateFieldがあり
、両方の自分の特性を持って、簡単な単語をBoundFieldのDataField、HeaderTextは大丈夫というように設定します。
しかし、時には、その後TemplateField、さらに多くのインタラクティビティを持ちます。
プロジェクトは、他の側は、私たちは2つのヘッダテーブルをしたい、次のように、それはTemplateFieldを使用して、コードの形式は次のとおりです。
``
`
<ASP:TemplateField HeaderStyle幅は= "250ピクセル">
                    <HeaderTemplate>
                        <テーブル幅= "100%"= "センター"整列>
                            <TR>
                                <TD COLSPAN = "3"幅= "100%" ALIGN = "中心">
                                     详细信息
                                </ TD>
                            </ TR>
                            <TR>
                                <TD幅= "70%" = "センター">整列
                                   描述
                                </ TD>
                                <TD幅= "15%" ALIGN = "センター">
                                    图片(张)
                                </ TD>
                                <TD幅= "15%" ALIGN = "センター">
                                    视频(段)
                                </ TD>
                            </ TR>
                        </ TABLE>
                    </ HeaderTemplate>
                    <ItemTemplateに>
                        <テーブル幅=」 100% ">
                            <TR>
                                <TD幅=" 70%」整列は= "センター">
                                  <ASP:ラベルID = "Label1を" runat = "サーバー"テキスト= <%#エバール( "DATA1" / ASP:ラベル>
                                </ TD>
                                <TD幅= "15%" ALIGN = "センター">
                                <ASP:ハイパーリンクID = "HyperLink1本文= <%#評価(" DATA2 "%>前景色=" #00d3d4" NavigateUrl = ''にrunat = "サーバ"タイトル= '查看'のCssClass = "hylink"> </ ASP:ハイパーリンク>     
                               </ TD>
                                <TD幅= "15%"> = "センター"整列
                                ハイパーリンクID = "scanVideo"本文= <%#評価(<ASP "DATA3" %>のForeColor = "#00d3d4" NavigateUrl = ''にrunat = "サーバー"タイトル= '查看'のCssClass = "hylink"> </ ASP:ハイパーリンク>  
                                </ TD>
                            </ TR>
                        </ TABLE>
                    </ ItemTemplateに>
                    <HeaderStyle幅=「250ピクセル」> </ HeaderStyle>
                </ ASP:TemplateField>
`` `
制御によりバックグラウンドでデータベースから単離されたデータの後、結合に対応するフィールドは、ブラウザ上に表示される:
前記ピクチャとハイパーリンクのビデオは~~あなたが写真やビデオを見るためにクリックできるリンクです
 
  •  - 結合テキストTemplateFieldのフロントエンドを取得
しかし、私は、写真やビデオの唯一の数がゼロよりも長い時間が青緑色であり、願って、あなたは0にクリックすることができたときに正常な結合と同じ。jsが取得するために、ここで遠位を使用しました
`
$(ドキュメント).ready(関数(){
     $( '選択')addClass( "フォームコントロール")。
     VARのgdview =のdocument.getElementById( "GridView1");
     VAR GridView1RowsLength = getTableRowsLength( "GridView1" );
     (VARのJ = 1、J <GridView1RowsLength; J ++){
 VAR HTML = gdview.rows [J] .cells [6] .children [0]; //获取到TemplateField这一列、我这里是細胞[6 ]
 VAR photoNum = HTML.rows [0] .cells [1] .textContent;
        VAR vedioNum = HTML.rows [0] .cells [2] .textContent;
        IF(photoNum == 0){
             HTML.rows [0]。細胞を[1] .children [0] .HREF = "#";
             HTML.rows [0] .cells [1] .children [0] .TITLE = "";
             HTML.rows [0] .cells [1] .children [0] .style.color = "RGB(51、51、51)";
         }
         (vedioNum == 0){もし
             HTML.rows [0] [2] .childrenを.cells [0] .HREF = "#"。
             HTML.rows [0] .cells [2] .children [0] .TITLE = "";
             HTML.rows [0] .cells [2] .children [0] .style.color = "RGB(51、51、51)";
         }
}
 })。
 
関数getTableRowsLength(ID){
     VARのMYTABLE =のdocument.getElementById(ID)。
     mytable.rows.lengthを返します。
 }
`
效果。

0マウスが表示タイトルなしは存在しませんアップに配置され、反応がありません]をクリック
 
 
  •  - TemplateFieldを結合テキストのバックエンドを取得
 上記の説明テキストは、テンプレートの先頭に相手が10文字未満なので、特別な治療法であり、後の会計、非常に多くの文字が表示されている指示することは不可能、当然の他の記述は通常のテキストは約50単語を、言及しましたまた、醜い位置は、そうするとき、現在の細胞懸濁液をすべて説明テキスト...表現が続く単語の固定された数よりも多くした後、マウスに配置することができると思います。ここでは、バックグラウンドコントロールを持つ:
 最初のものは、実際には、初めは、私の説明が上に直接配置されていると言うために`<TD> </ TD> ` で、しかし、あなたは、戻ってテキストに得ることができますが、ツールヒントを使用することはできませんが、も`<TD>と後テキスト割り当て、そのプロパティ、および<スパンのタイトル= " "> <%#評価(" DATA1")%> </ span>を</ TD>`、 フロントエンド上にある(JSコード缶)制御、表示効果に私はしたいが、テキストは、フラッシュの長いセグメントの説明が表示されますときにGridViewのデータやテキストに結合長い期間、これだけのページを更新しているため、フロントが生成必須です瞬間のために、あなたは... +「説明テキストの一部」になりたいと思うので、私はデータバインディングは、これらに対処しなければならないときを望む
 だけで、長い時間を探して、インターネット上で、及び方法が見つかりません彼女自身に
 次のようにコードである
 
`` `
/// <まとめ>
    結合データGridViewの各列のイベント時間がトリガする///
    /// </要約>
    /// <PARAM NAME =「SENDER」> < / param>の
    /// <PARAM NAME = "E"> </ param>の

    {
 IF(e.Row.RowType == DataControlRowType.DataRow)
        {
            IF(((System.Data.DataRowView)(e.Row.DataItem))。Row.ItemArray [6] .ToString()。(トリム)。長さ> 12)//描述的文字长度大于12的时候
            {
                文字列DIS =((System.Data.DataRowView)(e.Row.DataItem))Row.ItemArray [6] .ToString()トリム()。。。
                ラベルAAAラベルとして= e.Row.FindControl( "Label1を"); 
                aaa.ToolTip = DIS;
                aaa.Text = dis.Substring(0、11)+ "..."。
            }
}
}
`` `
((System.Data.DataRowView)(e.Row.DataItem))。Row.ItemArrayは、[6]これは私が最初にe.Row.Cells []を使用しますが、後に以下を得ることを、それを取得する方法です((DataBoundLiteralControl)row.Cells [インデックス] .Controls [0])。Text.Trim()は、バックグラウンドデバッガ小さな問題である使用、e.rowを取得し、層毎に、データの行全体を発見セルに記載されている情報、および直接コピーした表現を見つけます。
その後、リスト上のプロパティを設定し、2桁もハイパーリンクとしての判断、ハイパーリンクPhotoNum = e.Row.FindControl(「HyperLink1」)を作るために、同じテキストを取得するには、バックエンドのアプローチを使用する前に続いて、実際には、完了します。(=。
ワード制限後、マウスが配置されている - 全文懸濁液を表示します
 

おすすめ

転載: www.cnblogs.com/zq77ssi/p/11352758.html