- // dans le fichier .aspx
-
- <asp:datagrid id="dgDest" style="Z-INDEX: 107; LEFT: 32px; POSITION: absolute; TOP: 368px" runat="server" Height="244px" Width="719px" AutoGenerateColumns="False" PageSize="4" AllowPaging="True" ShowFooter="True" AllowSorting="True">
- <Columns>
- <asp:TemplateColumn HeaderText="<B>Nom</B>">
- <ItemTemplate>
- <asp:Label id=lblText runat="server" Width="289px" Height="25px" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>'></asp:Label>
- </ItemTemplate>
- <FooterTemplate>
- <asp:TextBox id="txtNewDestName" runat="server" ForeColor="#0000C0" Width="289px" Height="31px"></asp:TextBox>
- </FooterTemplate>
- </asp:TemplateColumn>
- <asp:TemplateColumn HeaderText="<B>Adresse</B>">
- <ItemTemplate>
- <asp:Label id=Label3 runat="server" Height="25px" Width="329px" Text='<%# DataBinder.Eval(Container, "DataItem.Address") %>'></asp:Label>
- </ItemTemplate>
- <FooterTemplate>
- <asp:TextBox id="txtNewDestAddress" runat="server" Height="33px" Width="329px" ForeColor="#0000C0" TextMode="MultiLine"></asp:TextBox>
- </FooterTemplate>
- </asp:TemplateColumn>
- <asp:TemplateColumn>
- <ItemTemplate>
- <asp:Button id="cmdDelete" runat="server" ForeColor="#0000C0" Width="73px" Font-Bold="True" Text="Supprimer" CommandName="Delete"></asp:Button>
- </ItemTemplate>
- <FooterTemplate>
- <asp:Button id="cmdAdd" runat="server" ForeColor="#0000C0" Width="73px" Font-Bold="True" Text="Ajouter" CommandName="Insert"></asp:Button>
- </FooterTemplate>
- </asp:TemplateColumn>
- </Columns>
- <PagerStyle Mode="NumericPages"></PagerStyle>
- </asp:datagrid>
-
- // dans le code behind
-
- private void Page_Load(object sender, System.EventArgs e)
- {
- if(!IsPostBack)
- {
- DataTable dt = new DataTable();
-
- dt.Columns.Add(new DataColumn("Name", typeof(string)));
- dt.Columns.Add(new DataColumn("Address", typeof(string)));
-
- dgDest.DataSource = new DataView(dt);
- dgDest.DataBind();
-
- ViewState.Add("dt", dt);
- }
- }
-
- private void dgDest_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
- {
- dgDest.CurrentPageIndex = e.NewPageIndex;
- dgDest.DataSource = new DataView((DataTable)ViewState["dt"]);
- dgDest.DataBind();
- }
-
- private void dgDest_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
- {
- ((DataTable)ViewState["dt"]).Rows[e.Item.ItemIndex].Delete();
- dgDest.DataSource = new DataView((DataTable)ViewState["dt"]);
- dgDest.DataBind();
- }
-
- private void dgDest_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
- {
- if(e.CommandName == "Insert")
- {
- TextBox tName = (TextBox)(e.Item.FindControl("txtNewDestName"));
- TextBox tAddr = (TextBox)(e.Item.FindControl("txtNewDestAddress"));
-
- DataRow dr;
- dr = ((DataTable)ViewState["dt"]).NewRow();
- dr[0] = tName.Text;
- dr[1] = tAddr.Text.Replace("\r\n", "<BR>");
- ((DataTable)ViewState["dt"]).Rows.Add(dr);
-
- tName.Text = "";
- tAddr.Text = "";
-
- dgDest.DataSource = new DataView((DataTable)ViewState["dt"]);
- dgDest.DataBind();
- }
- }
// dans le fichier .aspx
<asp:datagrid id="dgDest" style="Z-INDEX: 107; LEFT: 32px; POSITION: absolute; TOP: 368px" runat="server" Height="244px" Width="719px" AutoGenerateColumns="False" PageSize="4" AllowPaging="True" ShowFooter="True" AllowSorting="True">
<Columns>
<asp:TemplateColumn HeaderText="<B>Nom</B>">
<ItemTemplate>
<asp:Label id=lblText runat="server" Width="289px" Height="25px" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="txtNewDestName" runat="server" ForeColor="#0000C0" Width="289px" Height="31px"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="<B>Adresse</B>">
<ItemTemplate>
<asp:Label id=Label3 runat="server" Height="25px" Width="329px" Text='<%# DataBinder.Eval(Container, "DataItem.Address") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="txtNewDestAddress" runat="server" Height="33px" Width="329px" ForeColor="#0000C0" TextMode="MultiLine"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button id="cmdDelete" runat="server" ForeColor="#0000C0" Width="73px" Font-Bold="True" Text="Supprimer" CommandName="Delete"></asp:Button>
</ItemTemplate>
<FooterTemplate>
<asp:Button id="cmdAdd" runat="server" ForeColor="#0000C0" Width="73px" Font-Bold="True" Text="Ajouter" CommandName="Insert"></asp:Button>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
// dans le code behind
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Name", typeof(string)));
dt.Columns.Add(new DataColumn("Address", typeof(string)));
dgDest.DataSource = new DataView(dt);
dgDest.DataBind();
ViewState.Add("dt", dt);
}
}
private void dgDest_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dgDest.CurrentPageIndex = e.NewPageIndex;
dgDest.DataSource = new DataView((DataTable)ViewState["dt"]);
dgDest.DataBind();
}
private void dgDest_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
((DataTable)ViewState["dt"]).Rows[e.Item.ItemIndex].Delete();
dgDest.DataSource = new DataView((DataTable)ViewState["dt"]);
dgDest.DataBind();
}
private void dgDest_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName == "Insert")
{
TextBox tName = (TextBox)(e.Item.FindControl("txtNewDestName"));
TextBox tAddr = (TextBox)(e.Item.FindControl("txtNewDestAddress"));
DataRow dr;
dr = ((DataTable)ViewState["dt"]).NewRow();
dr[0] = tName.Text;
dr[1] = tAddr.Text.Replace("\r\n", "<BR>");
((DataTable)ViewState["dt"]).Rows.Add(dr);
tName.Text = "";
tAddr.Text = "";
dgDest.DataSource = new DataView((DataTable)ViewState["dt"]);
dgDest.DataBind();
}
}