ASP.Net GridViewは行、列を動的に追加します.
2061 ワード
昨日お客様が需要を変更しました.具体的な需要は言わない.とにかくaspを使います.NetGridView動的追加行、列
次に、カスタムコンポーネントのレンダリング実装クラスを示します.
// , String 。 TextBox, , , , 。
//
// ,
TemplateField field = null;
foreach(sys_UserTable u in userList){
field = new TemplateField();
field.HeaderText = u.U_CName;
field.FooterText = u.UserID+"";
this.gridView1.Columns.Add(field);
}
// ,
// , DataTble, GridView
DataTable dt = new DataTable();
for (int row = start; row <= end; row++) {
DataRow dRow = dt.NewRow();
for (int column = 0; column < userList.Count; column++) {
//
(userData.Columns[column] as TemplateField).HeaderStyle.Width = 70;
// ,( swing-JTable DefaultTableCellRenderer
)
(userData.Columns[column] as TemplateField).ItemTemplate = new ColumnTemplate();
}
// ( GridView)
dt.Rows.Add(dRow);
}
this.userData.DataSource = dt;
this.userData.DataBind();
次に、カスタムコンポーネントのレンダリング実装クラスを示します.
public class ColumnTemplate : ITemplate {
// DefaultTableCellRenderer
getTableCellRendererComponent
public void InstantiateIn(Control container)
{
TextBox text = new TextBox();
text.ID = "Text";
text.Text = "0";
text.Width = 60;
container.Controls.Add(text);
}
}