1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
namespace GridViewDyn
{
public partial class _Default : System.Web.UI.Page
{
public int? TemplateId
{
get { return (int?)Session["templateId"]; }
set { Session["templateId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
CreateForm();
}
protected override void OnInit(EventArgs e)
{
if (TemplateId != null && TemplateId.HasValue)
CreateForm();
base.OnInit(e);
}
protected void ShowGrid(object sender, EventArgs e)
{
TemplateId = 1;
CreateForm();
}
protected GridView CreateForm()
{
GridView gv = CreateGridView();
gv.RowEditing += OnRowEdit;
gv.RowUpdating += OnRowUpdating;
gv.DataSource = CreateDataTable();
gv.DataBind();
_Panel.Controls.Add(gv);
return gv;
}
protected void OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridView gv = sender as GridView;
if (gv == null)
return;
string value = gv.Rows[e.RowIndex].Cells[1].Text; // est la valeur initiale et non la nouvelle :/
}
protected void OnRowEdit(object sender, GridViewEditEventArgs e)
{
((GridView)sender).EditIndex = e.NewEditIndex;
((GridView)sender).DataBind();
}
protected GridView CreateGridView()
{
GridView gv = new GridView();
gv.AutoGenerateColumns = false;
CommandField commandColumn;
commandColumn = new CommandField();
commandColumn.ButtonType = ButtonType.Link;
commandColumn.CausesValidation = false;//
commandColumn.ShowEditButton = true;
gv.Columns.Add(commandColumn);
BoundField textColumn;
textColumn = new BoundField();
textColumn.DataField = "Value";
textColumn.HeaderText = "Value";
gv.Columns.Add(textColumn);
return gv;
}
protected DataTable CreateDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("Value");
int i = 1;
DataRow row;
row = dt.NewRow();
row["Value"] = i++;
dt.Rows.Add(row);
row = dt.NewRow();
row["Value"] = i++;
dt.Rows.Add(row);
return dt;
}
}
} |
Partager