GridViewの最も使用される1はBoundFieldで、TemplateFieldがあり
、両方の自分の特性を持って、簡単な単語をBoundFieldのDataField、HeaderTextは大丈夫というように設定します。
しかし、時には、その後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>
`` `
制御によりバックグラウンドでデータベースから単離されたデータの後、結合に対応するフィールドは、ブラウザ上に表示される:
前記ピクチャとハイパーリンクのビデオは~~あなたが写真やビデオを見るためにクリックできるリンクです
<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>
`` `
制御によりバックグラウンドでデータベースから単離されたデータの後、結合に対応するフィールドは、ブラウザ上に表示される:
前記ピクチャとハイパーリンクのビデオは~~あなたが写真やビデオを見るためにクリックできるリンクです
![](https://img2018.cnblogs.com/blog/1745144/201908/1745144-20190814161559292-1535103072.png)
- - 結合テキスト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を返します。
}
`
效果。
$(ドキュメント).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を返します。
}
`
效果。
![](https://img2018.cnblogs.com/blog/1745144/201908/1745144-20190814161648340-2078399930.png)
0マウスが表示タイトルなしは存在しませんアップに配置され、反応がありません]をクリック
- - TemplateFieldを結合テキストのバックエンドを取得
最初のものは、実際には、初めは、私の説明が上に直接配置されていると言うために`<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」)を作るために、同じテキストを取得するには、バックエンドのアプローチを使用する前に続いて、実際には、完了します。(=。
![](https://img2018.cnblogs.com/blog/1745144/201908/1745144-20190814161800095-126621158.png)
ワード制限後、マウスが配置されている - 全文懸濁液を表示します