Feb 16, 2009, 3:49 PM
[CLOSED] Cannot use CommandColumn and Rowexpander on a datagrid
When there is a CommandColumn and a RowExpander plugin on my datagrid the row expander gives me a javascript error when I try to expand the row. Am I defining something incorrectly? Does the grid panel not support this for some reason?
<%@ Page Language="vb"%>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<%@ Import Namespace="Microsoft.ApplicationBlocks.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head2" runat="server">
<title>The Magazine Manager</title>
<script runat="server">
Protected Overloads Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim cs As String = Helpers.Connection.ConnectionString(Request.ServerVariables("SERVER_NAME"))
SqlDataSourceCallbacks.ConnectionString = cs
If Not Page.IsPostBack Then
HiddenToDate.Text = " "
End If
End Sub
<AjaxMethod()> _
Public Sub MarkComplete(ByVal Command As String, ByVal ID As Integer)
If Command.ToLower = "delete" Then
Dim cs As String = Helpers.Connection.ConnectionString(Request.ServerVariables("SERVER_NAME"))
SqlHelper.ExecuteNonQuery(cs, "spHomePageCallbackMarkComplete", ID, 1)
GridPanelCallbacks.Reload()
End If
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug" />
<ext:Hidden runat="server" ID="HiddenToDate"></ext:Hidden>
<asp:SqlDataSource ID="SqlDataSourceCallbacks"
runat="server"
SelectCommand="spHomePageCallbacksGet"
SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter Name="repid" SessionField="RepID" />
<asp:Parameter Name="departmentid" DefaultValue="-1" />
<asp:Parameter Name="fromdate" DefaultValue=" " />
<asp:ControlParameter Name="todate" ControlID="HiddenToDate" PropertyName="Value" />
<asp:Parameter Name="completed" DefaultValue="0" />
<asp:Parameter Name="orderby" DefaultValue=" " />
</SelectParameters>
</asp:SqlDataSource>
<ext:Store runat="server" ID="StoreCallbacks" DataSourceID="SqlDataSourceCallbacks">
<Reader>
<ext:JsonReader ReaderID="ID">
<Fields>
<ext:RecordField Name="ID" Type="Int"/>
<ext:RecordField Name="gsCustomersID" Type="Int"/>
<ext:RecordField Name="DepartmentID" Type="Int"/>
<ext:RecordField Name="Notes" Type="String" />
<ext:RecordField Name="Callback" Type="Date" />
<ext:RecordField Name="Completed" Type="Boolean" />
<ext:RecordField Name="CompanyName" Type="String" />
<ext:RecordField Name="FirstName" Type="String" />
<ext:RecordField Name="LastName" Type="String" />
<ext:RecordField Name="Email" Type="String" />
<ext:RecordField Name="Phone" Type="String" />
<ext:RecordField Name="Phone2" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:GridPanel Title="Grid Panel" ID="GridPanelCallbacks" runat="server" autoheight="true" AutoWidth="true" StyleSpec="padding:0px;border:0px;" StoreID="StoreCallbacks" AutoExpandColumn="Notes">
<TopBar>
<ext:Toolbar ID="ToolbarCallbacks" runat="server">
<Items>
<ext:ToolbarButton runat="server" ID="ToolbarCallbacksRefresh" Icon="EmailTransfer">
<Listeners>
<Click Handler="#{GridPanelCallbacks}.reload();" />
</Listeners>
<ToolTips>
<ext:ToolTip ID="ToolTip1" runat="server" Html="Check Callbacks" />
</ToolTips>
</ext:ToolbarButton>
</Items>
</ext:Toolbar>
</TopBar>
<ColumnModel>
<Columns>
<ext:CommandColumn Width="20" >
<Commands>
<ext:GridCommand Icon="Decline" CommandName="Delete" QTipText="Done"></ext:GridCommand>
</Commands>
</ext:CommandColumn>
<ext:Column DataIndex="Callback" Header="Callback" Width="120">
<Renderer Fn="Ext.util.Format.dateRenderer('d/m/Y g:ia')" />
</ext:Column>
<ext:Column ColumnID="Notes" DataIndex="Notes" Header="Notes"></ext:Column>
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GridView1" runat="server" ForceFit="true" />
</View>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
</SelectionModel>
<Plugins>
<ext:RowExpander ID="RowExpander1" runat="server" Collapsed="true">
<Template ID="Template1" runat="server">
Testing
</Template>
</ext:RowExpander>
</Plugins>
<Listeners>
<Command Handler="Coolite.AjaxMethods.MarkComplete(command, record.data.ID);" />
</Listeners>
</ext:GridPanel>
</form>
</body>
</html>