T
tafs7
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).
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).