グリッドに3行、4行目から3行目、さらに3行目、6行目と7行目を分ける太い線などが必要です。ASP.NET GridViewコントロールの3行ごとに太いグリッド線?
これを行う最善の方法は?
ie。
Row 1
Row 2
Row 3
-------------
Row 4
Row 5
Row 6
-------------
グリッドに3行、4行目から3行目、さらに3行目、6行目と7行目を分ける太い線などが必要です。ASP.NET GridViewコントロールの3行ごとに太いグリッド線?
これを行う最善の方法は?
ie。
Row 1
Row 2
Row 3
-------------
Row 4
Row 5
Row 6
-------------
このようなものは動作するはずです。
分離コード:
private int RowCount { get; set; }
protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
switch(e.Row.RowType)
{
case DataControLRowType.Header:
{
RowCount = 0;
}
break;
case DataControlRowType.DataRow:
{
RowCount += 1;
if (RowCount == 3)
{
e.Row.CssClass = "BorderRow";
RowCount = 0;
}
}
break;
}
}
のCss:
tr.BorderRow td { border-bottom: 3px solid #000000; }
ここでjQueryの例だ:
$(document).ready(function() {
$("table.MarkRows tr:nth-child(3)").addClass("BorderRow");
});
は各<table class="MarkRows">
または<asp:GridView CssClass="MarkRows" />
が動作するはずですが、あなたは私がで概説したCSSルールを持っていると仮定すると、私の.NETソリューション。ここchprpiprの答えに基づいて
これはあなたのために働いたかどうかの任意の単語? – chprpipr
は、モジュロとe.Row.RowIndexを使用して、よりコンパクトなソリューションです。
if (e.Row.RowType = DataControlRowType.DataRow)
{
if ((e.Row.RowIndex + 1) % 3 == 0)
{
e.Row.CssClass = "BorderRow";
}
}
例えば「%5」で「%を3」置き換えることによって、あなたは、追加しますBorderRow CSSクラスは3行ではなく5行ごとに表示されます。
CSSまたはjQueryでこれを行う方法はありませんか?私は本当に私のアプリケーションのすべてのグリッドを変更する必要がありますか? –
javascriptを使用してその可能性がありますが、ヘッダー、フッターまたはページング行を使って何かを行っていると、ジェネリックなjavascriptソリューションが難しくなります。任意のJSライブラリ(jQuery、プロトタイプなど)を使用していますか? – chprpipr
これを簡単に達成できるCSSセレクタがありますが、広くサポートされていないhttp://css-tricks.com/how-nth-child-works/ – chprpipr