Patrick:
Here is what I have for one of the grids. All the grids on my page fail to enter edit mode. This worked perfectly fine just a little while ago, and from what I can tell, I did not mess with any of the grid-specific code. In debug, the code never reaches the "EditingCommand" handler, even though CallbackOptions is set to "Editing". Thanks in advance.
ASPX:
<asp:Panel ID="SearchSenderPanel" runat="server" Height="50px" Visible="False" Width="125px">
<table>
<tr>
<td style="width: 100px">
<asp:Label ID="Label58" runat="server" CssClass="HeaderFont1" Font-Italic="True"
Text="Sender Search Results" Width="311px"></asp:Label></td>
</tr>
<tr>
<td style="width: 100px" valign="middle">
<C1WebGrid:C1WebGrid ID="SearchSenderGrid" runat="server" AllowAutoSize="True" AllowColSizing="True"
AutoGenerateColumns="False" Font-Names="Trebuchet MS"
Font-Size="9pt" HScrollBarStyle="Always" VScrollBarStyle="Always" Width="550px" Height="300px" CallbackOptions="Editing" CellPadding="1" ShowFooter="True" DefaultRowHeight="23px"><FooterStyle Height="21px" BackColor="#E0E0E0" VerticalAlign="Middle" Wrap="False" />
<Columns>
<C1WebGrid:C1EditCommandColumn>
</C1WebGrid:C1EditCommandColumn>
<C1WebGrid:C1TemplateColumn HeaderText="ID">
<ItemStyle Width="35px" />
<ItemTemplate>
<asp:Label ID="senderIDLbl" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
</ItemTemplate>
</C1WebGrid:C1TemplateColumn>
<C1WebGrid:C1TemplateColumn HeaderText="Name">
<EditItemTemplate>
<asp:TextBox ID="SenderNameTB" runat="server" Text='<%# Bind("NAME") %>' Width="120px" BackColor="#FFFFC0"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="FootSenderNameTB" runat="server" Width="120px" BackColor="#FFFFC0"></asp:TextBox>
</FooterTemplate>
<ItemStyle Width="125px" />
<ItemTemplate>
<asp:Label ID="senderNameLbl" runat="server" Text='<%# Eval("NAME") %>'></asp:Label>
</ItemTemplate>
</C1WebGrid:C1TemplateColumn>
<C1WebGrid:C1TemplateColumn HeaderText="Initials">
<EditItemTemplate>
<asp:TextBox ID="SenderInitialsTB" runat="server" Text='<%# Bind("INITIALS") %>'
Width="50px" BackColor="#FFFFC0"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="FootSenderInitialsTB" runat="server" Width="50px" BackColor="#FFFFC0"></asp:TextBox>
</FooterTemplate>
<ItemStyle Width="60px" />
<ItemTemplate>
<asp:Label ID="senderInitialsLbl" runat="server" Text='<%# Eval("INITIALS") %>'></asp:Label>
</ItemTemplate>
</C1WebGrid:C1TemplateColumn>
<C1WebGrid:C1TemplateColumn HeaderText="Phone">
<EditItemTemplate>
<asp:TextBox ID="SenderPhoneTB" runat="server" onchange="BLOCKED SCRIPTEditTemplatePhoneOnChange(this);" onkeypress="BLOCKED SCRIPTEditTemplatePhoneKeyPress(event);" Text='<%# Bind("PHONE") %>' Width="100px" BackColor="#FFFFC0"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<c1i:C1WebMaskEdit ID="FootSenderPhoneWME" runat="server" Height="22px" Mask="000-000-0000" Width="100px" BackColor="#FFFFC0">
</c1i:C1WebMaskEdit>
</FooterTemplate>
<ItemStyle Width="115px" />
<ItemTemplate>
<asp:Label ID="senderPhoneLbl" runat="server" Text='<%# Eval("PHONE") %>' Width="100px"></asp:Label>
</ItemTemplate>
</C1WebGrid:C1TemplateColumn>
</Columns>
<ItemStyle BackColor="Honeydew" Wrap="False" VerticalAlign="Middle" Font-Names="Trebuchet MS" Font-Size="9pt" />
<HeaderStyle BackColor="Silver" ForeColor="MediumBlue" HorizontalAlign="Left" Height="18px" />
<EditItemStyle Font-Names="Trebuchet MS" Font-Size="9pt" />
</C1WebGrid:C1WebGrid>
</td>
</tr>
<tr>
<td align="left" style="width: 475px">
<asp:Label ID="Label59" runat="server" Font-Names="Trebuchet MS" Font-Size="9pt"
Text="Scroll down and use the text fields at bottom of grid to create a new SENDER, then press 'Add New Sender' to add it to the database"
Width="545px"></asp:Label></td>
</tr>
</table>
</asp:Panel>
Code behind:
Protected Sub SearchSenderGrid_EditingCommand(ByVal sender As Object, ByVal e As C1.Web.C1WebGrid.C1CancelCommandEventArgs) Handles SearchSenderGrid.EditingCommand
Me.SearchSenderGrid.EditItemIndex = e.Item.ItemIndex
GetSenders() 'populates grid from DB
End Sub
Protected Sub SearchSenderGrid_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles SearchSenderGrid.PreRender
If Not CheckAdministrator() Then
Me.SearchSenderGrid.Columns.Item(0).Visible = False
End If
End Sub
Protected Sub SearchSenderGrid_CancelingCommand(ByVal sender As Object, ByVal e As C1.Web.C1WebGrid.C1CancelCommandEventArgs) Handles SearchSenderGrid.CancelingCommand
Me.SearchSenderGrid.EditItemIndex = -1
GetSenders() 'populates grid from DB
End Sub
Protected Sub SearchSenderGrid_UpdatingCommand(ByVal sender As Object, ByVal e As C1.Web.C1WebGrid.C1UpdatingEventArgs) Handles SearchSenderGrid.UpdatingCommand
If CheckAdministrator() Then
'validate and update
........
e.Cancel = True
Me.SearchSenderGrid.EditItemIndex = -1
GetSenders()
Else
e.Cancel = False
End If
Else
'not valid
e.Cancel = False
End If
Else
e.Cancel = False
Me.SearchSenderGrid.EditItemIndex = -1
GetSenders()
End If
End Sub
Protected Sub SearchSenderGrid_ItemCreated(ByVal sender As Object, ByVal e As C1.Web.C1WebGrid.C1ItemEventArgs) Handles SearchSenderGrid.ItemCreated
If e.Item.ItemType = C1.Web.C1WebGrid.C1ListItemType.Footer Then
Dim lb As New LinkButton
lb.Text = "Add New Sender"
lb.CommandName = "AddSender"
lb.ID = "NewSenderButton"
e.Item.Cells(0).Controls.Add(lb)
ElseIf e.Item.ItemType = C1.Web.C1WebGrid.C1ListItemType.EditItem Then
Dim hl As HyperLink = CType(e.Item.Cells(0).Controls(0), HyperLink)
Dim index As String = e.Item.ItemIndex.ToString
Dim s As String = "ValidateSender(SearchSenderGrid_cntxt," & index & ");"
hl.Attributes.Add("onclick", s)
End If
End Sub
Protected Sub SearchSenderGrid_ItemCommand(ByVal sender As Object, ByVal e As C1.Web.C1WebGrid.C1CommandEventArgs) Handles SearchSenderGrid.ItemCommand
If e.CommandName.Equals("AddSender") Then
'validate new entry
.......
AddNewSenderRow(values)
End If
End Sub
Public Sub AddNewSenderRow(ByVal values() As String)
If ValidateSender(values) Then
AddNewSender(values)
GetSenders()
Else
End If
End Sub