Gridviewに行を追加しました。 gridviewには20列あります。 2-3列の下に2-3行を表示し、colspanとして残っているグリッドビューでcolspanのような機能を実行するにはどうすればよいですか?.
基本的に私はグリッドビューの行のグリッドビューにコルスパンを実装したいと思います。
したがって、現在のgvは次のようになります。
列1列2列3列4列......列20
セル1セル2セル3セル4 ......セル20(行#1の場合)
のようなものが欲しい
列1列2列3列4列......列20
Cell1 Cell2 ...... Cell 20 (For Rows # 1)
任意のクエリについて教えてください。
ありがとう
次のように、GridViewのOnRowCreatedイベントを処理する必要があります。
protected void grid_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[2].ColumnSpan = 2;
//now make up for the colspan from cell2
e.Row.Cells.RemoveAt(4);
}
}
マークアップは次のようになります。
<asp:GridView runat="server" ID="grid" OnRowCreated="grid_RowCreated" >
上記の例では、グリッドに次のように入力しました。
DataTable dt = new DataTable();
for (int i = 0; i < 5; i++)
{
dt.Columns.Add("Col " + i);
}
for (int i = 0; i < 10; i++)
{
DataRow r = dt.NewRow();
r.ItemArray=new object[]{"row "+i,"row "+i,"row "+i,"row "+i,"row "+i};
dt.Rows.Add(r);
}
grid.DataSource = dt;
grid.DataBind();
そしてそれはこれを作り出します:
ROWS(必ずしもヘッダーではない)に特定のcolspanを持たせたいと思ったことに気づきました。その場合、次のことができます。
protected void grid_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].ColumnSpan = 2;
//now make up for the colspan from cell2
e.Row.Cells.RemoveAt(4);
}
}
そしてそれは作り出すでしょう:
BoundField
およびTemplateField
タグには、プロパティItemStyle-Width
= "22%"ご覧のとおり、各列にパーセンテージを設定してレスポンシブにすることができます