Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Building Controls > prompt user to save changes in datagrid editmode when they try to navigate away from page...how do you do that?

Reply
Thread Tools

prompt user to save changes in datagrid editmode when they try to navigate away from page...how do you do that?

 
 
tafs7
Guest
Posts: n/a
 
      02-04-2004
Hello,

I have a custom datagrid control that works great. But I was thinking
about adding some functionality to it. Currently, I use the datagrid
to display one record at a time, and with edit item templates, if you
click
the edit button, the datagrid becomes a nice form to make changes.
Kinda like a big rolodex, and as you page you flip thru each record
individually.

My question is this: how can I have some kind of server side script
(and probably client side javascript) on the pages that contain this
datagrid control (there are quite a few...), so that it can detect if
the grid is in edit mode and will confirm if the user wants to save
the changes made, before clicking
away to another link on the page that is not the 'save' link? This
will be very similar to the windows forms 'Exit without saving?'
popup, so if
users make changes to a record and forget to push the save/update
button, then decide to click somewhere else on the page, it will tell
them..."hey
you need to save!"

If anyone has any ideas on how to implement this, please let me
know. I appreciate all of your help. Below is a rough pseudo code of
my datagrid control within an aspx file. Most of the logic for the
datagrid control is in the assembly for the custom control itself
(i.e. itemcreated, itemdatabound, init, load, edit/delete command)

Regards,
Thiago
Web Developer

<Grid:CustomDG id=MyDG runat="server"
ShowHeader="True"
AutoGenerateColumns="False"
DBTable = "tblMyTable"
DataKeyField = "MyKeyField"
GridLines="None"
Cellpadding="5"
width="800"
BackColor="FloralWhite"
BorderColor="Navy"
BorderStyle="solid"
BorderWidth="1px"
CssClass="panel"
AllowPaging="True"
PageSize="1"

OnUpdateCommand="MyDG_Update"

HeaderStyle-BackColor="lightgrey"
HeaderStyle-Font-Name="Verdana"
HeaderStyle-Font-Bold="True"
HeaderStyle-HorizontalAlign="Right"

FooterStyle-BackColor="lightgrey"
FooterStyle-Font-Name="Verdana"
FooterStyle-Font-Bold="True" >
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" align="center" border="1"
bordercolor="#696969" width="100%">
<tr bgColor="LightSteelBlue">
<td class="tblHead">Some Information:</td>
</tr>
<tr><td>
<TABLE class="setText" id="tblReason" cellSpacing="1"
cellPadding="4" width="100%" align="center" border="0">
<tr>
<td class="label">Field Name: </td>
<td>
<asp:Label id="lblMyLabel"
CssClass="txtIn"
Text='<%# DataBinder.Eval(Container, "DataItem.MyFieldName") %>'
Runat="server"/>
</td>
</tr>
</TABLE>
</td></tr>
</TABLE>
</ItemTemplate>
<EditItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" align="center" border="1"
bordercolor="#696969" width="100%">
<tr bgColor="LightSteelBlue">
<td class="tblHead">Provider Information:</td>
</tr>
<tr><td>
<TABLE class="setText" id="tblReason" cellSpacing="3" cellPadding="3"
width="100%" align="center" border="0">
<tr>
<td class="label">Field Name: </td>
<td>
<asp:TextBox id="lblMyLabel"
CssClass="txtIn"
Text='<%# DataBinder.Eval(Container, "DataItem.MyFieldName") %>'
</td></tr>
</TABLE>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</Grid:CustomDG>
....

I do the databinding, and all other required logic, in the custom
control's source code (assembly).
 
Reply With Quote
 
 
 
 
locitt
Guest
Posts: n/a
 
      02-05-2004
You can add javascript to all editing textbox (for instance) to detect
changes in your grid and with all other buttons not the save/update grid
ones, you can add js to check if there're some changes made to the grid. All
is javascript !. Event onclose the ie window or popup window.

just an idea.
locitt.


"tafs7" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) om...
> Hello,
>
> I have a custom datagrid control that works great. But I was thinking
> about adding some functionality to it. Currently, I use the datagrid
> to display one record at a time, and with edit item templates, if you
> click
> the edit button, the datagrid becomes a nice form to make changes.
> Kinda like a big rolodex, and as you page you flip thru each record
> individually.
>
> My question is this: how can I have some kind of server side script
> (and probably client side javascript) on the pages that contain this
> datagrid control (there are quite a few...), so that it can detect if
> the grid is in edit mode and will confirm if the user wants to save
> the changes made, before clicking
> away to another link on the page that is not the 'save' link? This
> will be very similar to the windows forms 'Exit without saving?'
> popup, so if
> users make changes to a record and forget to push the save/update
> button, then decide to click somewhere else on the page, it will tell
> them..."hey
> you need to save!"
>
> If anyone has any ideas on how to implement this, please let me
> know. I appreciate all of your help. Below is a rough pseudo code of
> my datagrid control within an aspx file. Most of the logic for the
> datagrid control is in the assembly for the custom control itself
> (i.e. itemcreated, itemdatabound, init, load, edit/delete command)
>
> Regards,
> Thiago
> Web Developer
>
> <Grid:CustomDG id=MyDG runat="server"
> ShowHeader="True"
> AutoGenerateColumns="False"
> DBTable = "tblMyTable"
> DataKeyField = "MyKeyField"
> GridLines="None"
> Cellpadding="5"
> width="800"
> BackColor="FloralWhite"
> BorderColor="Navy"
> BorderStyle="solid"
> BorderWidth="1px"
> CssClass="panel"
> AllowPaging="True"
> PageSize="1"
>
> OnUpdateCommand="MyDG_Update"
>
> HeaderStyle-BackColor="lightgrey"
> HeaderStyle-Font-Name="Verdana"
> HeaderStyle-Font-Bold="True"
> HeaderStyle-HorizontalAlign="Right"
>
> FooterStyle-BackColor="lightgrey"
> FooterStyle-Font-Name="Verdana"
> FooterStyle-Font-Bold="True" >
> <Columns>
> <asp:TemplateColumn>
> <ItemTemplate>
> <TABLE cellSpacing="0" cellPadding="0" align="center" border="1"
> bordercolor="#696969" width="100%">
> <tr bgColor="LightSteelBlue">
> <td class="tblHead">Some Information:</td>
> </tr>
> <tr><td>
> <TABLE class="setText" id="tblReason" cellSpacing="1"
> cellPadding="4" width="100%" align="center" border="0">
> <tr>
> <td class="label">Field Name: </td>
> <td>
> <asp:Label id="lblMyLabel"
> CssClass="txtIn"
> Text='<%# DataBinder.Eval(Container, "DataItem.MyFieldName") %>'
> Runat="server"/>
> </td>
> </tr>
> </TABLE>
> </td></tr>
> </TABLE>
> </ItemTemplate>
> <EditItemTemplate>
> <TABLE cellSpacing="0" cellPadding="0" align="center" border="1"
> bordercolor="#696969" width="100%">
> <tr bgColor="LightSteelBlue">
> <td class="tblHead">Provider Information:</td>
> </tr>
> <tr><td>
> <TABLE class="setText" id="tblReason" cellSpacing="3" cellPadding="3"
> width="100%" align="center" border="0">
> <tr>
> <td class="label">Field Name: </td>
> <td>
> <asp:TextBox id="lblMyLabel"
> CssClass="txtIn"
> Text='<%# DataBinder.Eval(Container, "DataItem.MyFieldName") %>'
> </td></tr>
> </TABLE>
> </EditItemTemplate>
> </asp:TemplateColumn>
> </Columns>
> </Grid:CustomDG>
> ...
>
> I do the databinding, and all other required logic, in the custom
> control's source code (assembly).



 
Reply With Quote
 
 
 
 
Eric
Guest
Posts: n/a
 
      02-06-2004
If you don't mind the behavior being limited to Internet Explorer, see the
following article:

http://www.codeproject.com/aspnet/EWSWebPt2.asp


"tafs7" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) om...
> Hello,
>
> I have a custom datagrid control that works great. But I was thinking
> about adding some functionality to it. Currently, I use the datagrid
> to display one record at a time, and with edit item templates, if you
> click
> the edit button, the datagrid becomes a nice form to make changes.
> Kinda like a big rolodex, and as you page you flip thru each record
> individually.
>
> My question is this: how can I have some kind of server side script
> (and probably client side javascript) on the pages that contain this
> datagrid control (there are quite a few...), so that it can detect if
> the grid is in edit mode and will confirm if the user wants to save
> the changes made, before clicking
> away to another link on the page that is not the 'save' link? This
> will be very similar to the windows forms 'Exit without saving?'
> popup, so if
> users make changes to a record and forget to push the save/update
> button, then decide to click somewhere else on the page, it will tell
> them..."hey
> you need to save!"
>
> If anyone has any ideas on how to implement this, please let me
> know. I appreciate all of your help. Below is a rough pseudo code of
> my datagrid control within an aspx file. Most of the logic for the
> datagrid control is in the assembly for the custom control itself
> (i.e. itemcreated, itemdatabound, init, load, edit/delete command)
>
> Regards,
> Thiago
> Web Developer
>
> <Grid:CustomDG id=MyDG runat="server"
> ShowHeader="True"
> AutoGenerateColumns="False"
> DBTable = "tblMyTable"
> DataKeyField = "MyKeyField"
> GridLines="None"
> Cellpadding="5"
> width="800"
> BackColor="FloralWhite"
> BorderColor="Navy"
> BorderStyle="solid"
> BorderWidth="1px"
> CssClass="panel"
> AllowPaging="True"
> PageSize="1"
>
> OnUpdateCommand="MyDG_Update"
>
> HeaderStyle-BackColor="lightgrey"
> HeaderStyle-Font-Name="Verdana"
> HeaderStyle-Font-Bold="True"
> HeaderStyle-HorizontalAlign="Right"
>
> FooterStyle-BackColor="lightgrey"
> FooterStyle-Font-Name="Verdana"
> FooterStyle-Font-Bold="True" >
> <Columns>
> <asp:TemplateColumn>
> <ItemTemplate>
> <TABLE cellSpacing="0" cellPadding="0" align="center" border="1"
> bordercolor="#696969" width="100%">
> <tr bgColor="LightSteelBlue">
> <td class="tblHead">Some Information:</td>
> </tr>
> <tr><td>
> <TABLE class="setText" id="tblReason" cellSpacing="1"
> cellPadding="4" width="100%" align="center" border="0">
> <tr>
> <td class="label">Field Name: </td>
> <td>
> <asp:Label id="lblMyLabel"
> CssClass="txtIn"
> Text='<%# DataBinder.Eval(Container, "DataItem.MyFieldName") %>'
> Runat="server"/>
> </td>
> </tr>
> </TABLE>
> </td></tr>
> </TABLE>
> </ItemTemplate>
> <EditItemTemplate>
> <TABLE cellSpacing="0" cellPadding="0" align="center" border="1"
> bordercolor="#696969" width="100%">
> <tr bgColor="LightSteelBlue">
> <td class="tblHead">Provider Information:</td>
> </tr>
> <tr><td>
> <TABLE class="setText" id="tblReason" cellSpacing="3" cellPadding="3"
> width="100%" align="center" border="0">
> <tr>
> <td class="label">Field Name: </td>
> <td>
> <asp:TextBox id="lblMyLabel"
> CssClass="txtIn"
> Text='<%# DataBinder.Eval(Container, "DataItem.MyFieldName") %>'
> </td></tr>
> </TABLE>
> </EditItemTemplate>
> </asp:TemplateColumn>
> </Columns>
> </Grid:CustomDG>
> ...
>
> I do the databinding, and all other required logic, in the custom
> control's source code (assembly).



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Stopping somebody from losing changes when they navigate away from a page. UJ ASP .Net 9 07-21-2005 11:01 PM
prompt user to save changes in datagrid editmode when they try to navigate away from page...how do you do that? tafs7 ASP .Net Datagrid Control 2 02-06-2004 02:48 AM
prompt user to save changes in datagrid editmode when they try to navigate away from page...how do you do that? tafs7 ASP .Net Web Controls 2 02-06-2004 02:48 AM
prompt to save changes in datagrid in editmode if user tries to navigate away tafs7 ASP .Net 0 12-29-2003 10:41 PM
prompt to save changes in datagrid in editmode if user tries to navigate away tafs7 ASP .Net Datagrid Control 0 12-29-2003 10:41 PM



Advertisments