However the dropdown and textbox are in teh master page, while the grid is on a content page.
How do I accomplish this? I have my code started as follows, I know my SQL SELECT is wrong because basically I need to say
IF ddllist = rollno then ("USE this SQL SELECT for ROLL_NO")
ELSEIF ddlist = address then ("USE this SQL SELECT for ADDRESS")
ELSEIF ddlist = legal then ("USE this SQL SELECT for LEGAL")
END IF
However I don't know how to bind a grid this way. You will see I ma using standard asp controls at this point because I am waiting for Q2 Ajax controls so that postbacks can be surpressed. Any help or samples would be awesome!
Thanks,
Brett
MasterPage.vb
Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click
Dim gvpd As DataGrid = TryCast(Page.FindControl("gvPropertyDetails"), DataGrid)
gvpd.DataBind(based on my drop and text box?????)
End Sub
MasterPage ASPX:
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:ListItem Selected="True" Value="rollno">Roll No.</asp:ListItem>
<asp:ListItem Value="address">Civic\St. Address</asp:ListItem>
<asp:ListItem Value="legaldesc">Legal Derscription</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" />
Content Page ASPX:
<asp:GridView ID="gvPropertyDetails" runat="server" AutoGenerateColumns="False" DataSourceID="dsProperty" | |
CellPadding="4" Width="100%" DataKeyNames="ROLL_NO" ForeColor="#333333" | |
GridLines="None"> | |
<RowStyle BackColor="#E3EAEB" /> | |
<Columns> | |
<asp:BoundField DataField="ROLL_NO" HeaderText="Roll Number" SortExpression="ROLL_NO" /> | |
<asp:BoundField DataField="Address" HeaderText="Address" ReadOnly="True" SortExpression="Address" /> | |
<asp:TemplateField HeaderText="Legal Description"> | |
<ItemTemplate> | |
<asp:Label ID="Label58" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL1") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL2") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL3") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL4") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL5") %>'> | |
</asp:Label></ItemTemplate> | |
</asp:TemplateField> | |
<asp:BoundField DataField="CLASS" HeaderText="Class" SortExpression="CLASS" /> | |
<asp:BoundField DataField="ASSESSMENT" HeaderText="Assessed Value" | |
SortExpression="ASSESSMENT" DataFormatString="{0:c}" /> | |
<asp:HyperLinkField DataNavigateUrlFields="roll_no" | |
DataNavigateUrlFormatString="propdetails.aspx?roll_no={0}" | |
HeaderText="Property Details" Text="More Details" | |
ItemStyle-HorizontalAlign="Center" > | |
<ItemStyle HorizontalAlign="Center"></ItemStyle> | |
</asp:HyperLinkField> | |
</Columns> | |
<FooterStyle BackColor="#1C5E55" ForeColor="White" Font-Bold="True" /> | |
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" /> | |
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" /> | |
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> | |
<EditRowStyle BackColor="#7C6F57" /> | |
<AlternatingRowStyle BackColor="White" /> | |
</asp:GridView> | |
<asp:SqlDataSource ID="dsProperty" runat="server" ConnectionString="<%$ ConnectionStrings:csProperty %>" | |
SelectCommand="SELECT TOP 1 TX_ROLL.ROLL_NO, CAST(TX_ROLL.STREET_NO AS varchar) + ' ' + TX_ROLL.STREET_NAME AS Address, TX_ROLL.LEGAL1, TX_ROLL.LEGAL2, TX_ROLL.LEGAL3, TX_ROLL.LEGAL4, TX_ROLL.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT FROM TX_ROLL LEFT OUTER JOIN TX_ROLL_ASSESS ON TX_ROLL.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO WHERE (TX_ROLL.ROLL_NO LIKE @txtSearch or Address LIKE @txtSearch or TX_ROLL.LEGAL1 LIKE @txtSearch OR TX_ROLL.LEGAL2 LIKE @txtSearch OR TX_ROLL.LEGAL3 LIKE @txtSearch) ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC"> | |
</asp:SqlDataSource> | |
<selectparameters> | |
<asp:Parameter Name="txtSearch" Type="String"/> |
13 Answers, 1 is accepted
Dim myNewSQLString As String
IF ddllist = rollno then (myNewSQLString = "USE this SQL SELECT for ROLL_NO")
ELSEIF ddlist = address then (myNewSQLString = "USE this SQL SELECT for ADDRESS")
ELSEIF ddlist = legal then (myNewSQLString = "USE this SQL SELECT for LEGAL")
END IF
Dim sqlds As SQLDataSource = TryCast(Page.FindControl("dsProperty"), SQLDataSource)
sqlds.SelectCommand = myNewSQLString
Dim gvpd As DataGrid = TryCast(Page.FindControl("gvPropertyDetails"), DataGrid)
gvpd.DataBind()
Thanks for the sample Richard, however I guess I am still not getting it.
I am using your code in the button click event of my search button. But all I am geting is an error: Object reference not set to an instance of an object. after clicking the search button, I am guessing this is because we are not handling the parameters, however I am unsure how to do that also, please have a look if you don't mind.
Here is my updated page and codes:
vb.net
Imports System | |
Imports System.Web.UI.WebControls | |
Imports Telerik.Web | |
Partial Class test | |
Inherits System.Web.UI.Page | |
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load | |
imgPrint.Attributes.Add("onclick", "javascript:window.print(); return false;") | |
lnkPrint.Attributes.Add("onclick", "javascript:window.print(); return false;") | |
End Sub | |
Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender | |
'change selection and add a response script to rebind the second grid | |
RadGrid1.Items(0).Selected = True | |
RadGrid2.MasterTableView.Rebind() | |
End Sub | |
Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click | |
Dim myNewSQLString As String | |
If ddlSearch.SelectedValue = "rollno" Then | |
myNewSQLString = "SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT" _ | |
& "FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO" _ | |
& "WHERE txroll.ROLL_NO = @ROLL_NO" _ | |
& "ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC" | |
'ElseIf ddlSearch.SelectedValue = "address" Then | |
' myNewSQLString = "USE this SQL SELECT for ADDRESS" | |
'ElseIf ddlSearch.SelectedValue = "legal" Then | |
' myNewSQLString = "USE this SQL SELECT for LEGAL" | |
End If | |
Dim sqlds As SqlDataSource = TryCast(Page.FindControl("dsGrid"), SqlDataSource) | |
sqlds.SelectCommand = myNewSQLString | |
Dim rgpd As DataGrid = TryCast(Page.FindControl("RadGrid1"), DataGrid) | |
rgpd.DataBind() | |
End Sub | |
End Class |
asp.net
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" | |
CodeFile="details.aspx.vb" Inherits="test" %> | |
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> | |
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> | |
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> | |
</asp:Content> | |
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> | |
<div id="searchblock"> | |
<asp:DropDownList ID="ddlSearch" runat="server" AutoPostBack="True"> | |
<asp:ListItem Selected="True" Value="rollno">Roll No.</asp:ListItem> | |
<asp:ListItem Value="address">Civic\St. Address</asp:ListItem> | |
<asp:ListItem Value="legal">Legal Derscription</asp:ListItem> | |
</asp:DropDownList> | |
<asp:TextBox ID="txtSearch" runat="server" va>401015084000000</asp:TextBox> | |
<asp:Button ID="btnSearch" runat="server" Text="Search" /> | |
</div> | |
<div class="tablehdr"> | |
<h3> | |
Municipal Property Details</h3> | |
</div> | |
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="dsGrid" Skin="Telerik" | |
GridLines="None" OnPreRender="RadGrid1_PreRender"> | |
<MasterTableView AutoGenerateColumns="False" DataSourceID="dsGrid" DataKeyNames="ROLL_NO"> | |
<RowIndicatorColumn> | |
<HeaderStyle Width="20px"></HeaderStyle> | |
</RowIndicatorColumn> | |
<ExpandCollapseColumn> | |
<HeaderStyle Width="20px"></HeaderStyle> | |
</ExpandCollapseColumn> | |
<Columns> | |
<telerik:GridBoundColumn DataField="ROLL_NO" HeaderText="Roll Number" SortExpression="ROLL_NO" | |
UniqueName="ROLL_NO"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="Address" HeaderText="Address" SortExpression="Address" | |
UniqueName="Address" ReadOnly="True"> | |
</telerik:GridBoundColumn> | |
<%--<telerik:GridBoundColumn DataField="LEGAL1" HeaderText="LEGAL1" | |
SortExpression="LEGAL1" UniqueName="LEGAL1"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL2" HeaderText="LEGAL2" | |
SortExpression="LEGAL2" UniqueName="LEGAL2"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL3" HeaderText="LEGAL3" | |
SortExpression="LEGAL3" UniqueName="LEGAL3"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL4" HeaderText="LEGAL4" | |
SortExpression="LEGAL4" UniqueName="LEGAL4"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL5" HeaderText="LEGAL5" | |
SortExpression="LEGAL5" UniqueName="LEGAL5"> | |
</telerik:GridBoundColumn>--%> | |
<telerik:GridTemplateColumn HeaderText="Legal Description" UniqueName="TemplateColumn"> | |
<ItemTemplate> | |
<asp:Label ID="Label58" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL1") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL2") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL3") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL4") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL5") %>'> | |
</asp:Label> | |
</ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridBoundColumn DataField="CLASS" HeaderText="Class" SortExpression="CLASS" | |
UniqueName="CLASS"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="ASSESSMENT" DataType="System.Decimal" HeaderText="Assesed Value" | |
SortExpression="ASSESSMENT" UniqueName="ASSESSMENT" DataFormatString="{0:c}"> | |
</telerik:GridBoundColumn> | |
<telerik:GridHyperLinkColumn HeaderText="More Details" NavigateUrl="details.aspx?txtSearch={0}" | |
Text="View Details" UniqueName="column"> | |
<HeaderStyle HorizontalAlign="Center" /> | |
<ItemStyle HorizontalAlign="Center" /> | |
</telerik:GridHyperLinkColumn> | |
</Columns> | |
</MasterTableView> | |
<FilterMenu EnableTheming="True"> | |
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> | |
</FilterMenu> | |
</telerik:RadGrid> | |
<asp:SqlDataSource ID="dsGrid" runat="server" ConnectionString="<%$ ConnectionStrings:csProperty %>" | |
SelectCommand="SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT | |
FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO | |
WHERE txroll.ROLL_NO = @ROLL_NO | |
ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC"> | |
<SelectParameters> | |
<asp:ControlParameter Name="ROLL_NO" ControlID="txtSearch" Type="String" /> | |
<%--<asp:QueryStringParameter Name="ROLL_NO" QueryStringField="txtSearch" Type="String" />--%> | |
</SelectParameters> | |
</asp:SqlDataSource> | |
<br /> | |
<asp:Panel ID="pnlStructure" runat="server"> | |
<div class="tablehdr"> | |
<h3> | |
Sturcture Details</h3> | |
</div> | |
<telerik:RadGrid ID="RadGrid2" runat="server" DataSourceID="dsStructure" GridLines="None" | |
Skin="Telerik"> | |
<MasterTableView AutoGenerateColumns="False" DataSourceID="dsStructure" DataKeyNames="ROLL_NO"> | |
<RowIndicatorColumn> | |
<HeaderStyle Width="20px" /> | |
</RowIndicatorColumn> | |
<ExpandCollapseColumn> | |
<HeaderStyle Width="20px" /> | |
</ExpandCollapseColumn> | |
<Columns> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn1" HeaderText="Construction"> | |
<ItemTemplate> | |
CHAR OF CONST:<asp:Label ID="Label58" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CHAR_OF_CONST") %>'> | |
</asp:Label><br /> | |
QUALITY:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.QUALITY") %>'> | |
</asp:Label><br /> | |
SHAPE:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.SHAPE") %>'> | |
</asp:Label><br /> | |
YEAR BUILT:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.YEAR_BUILT") %>'> | |
</asp:Label><br /> | |
YEAR BUILT CODE:<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.YEAR_BUILT_CODE") %>'> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn2" HeaderText="Building"> | |
<ItemTemplate> | |
CONDITION:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CONDITION") %>'> | |
</asp:Label><br /> | |
FULL STORYS:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FULL_STOREYS") %>'> | |
</asp:Label><br /> | |
PART STORYS:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.PART_STOREYS") %>'> | |
</asp:Label><br /> | |
HEIGHT EFF DATE:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.HEIGHT_EFF_DATE_S") %>'> | |
</asp:Label><br /> | |
SPLIT:<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.SPLIT") %>'> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn3" HeaderText="Area"> | |
<ItemTemplate> | |
GROSS AREA:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GROSS_AREA") %>'> | |
</asp:Label><br /> | |
TOTAL BASEMENT:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.TOTAL_BASEMENT") %>'> | |
</asp:Label><br /> | |
FINISH BASEMENT:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FINISH_BASEMENT") %>'> | |
</asp:Label><br /> | |
FINISH BASEMENT:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FINISH_BASEMENT_TY") %>'> | |
</asp:Label><br /> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn4" HeaderText="Features"> | |
<ItemTemplate> | |
FULL BATHS:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FULL_BATHS") %>'> | |
</asp:Label><br /> | |
HALF BATHS:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.HALF_BATHS") %>'> | |
</asp:Label><br /> | |
# BEDROOMS:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NO_OF_BEDROOMS") %>'> | |
</asp:Label><br /> | |
# FIREPLACES:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NO_OF_FIREPLACES") %>'> | |
</asp:Label><br /> | |
HEATING TYPE:<asp:Label ID="Label5" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.HEATING_TYPE") %>'> | |
</asp:Label><br /> | |
AIR CONDITIONING:<asp:Label ID="Label6" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.AIR_CONDITIONING") %>'> | |
</asp:Label><br /> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Garage"> | |
<ItemTemplate> | |
GARAGE TYPE:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GARAGE_TYPE") %>'> | |
</asp:Label><br /> | |
GARAGE SPACES:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GARAGE_SPACES") %>'> | |
</asp:Label><br /> | |
STRUCTURE CODE:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.STRUCT_CODE") %>'> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
</Columns> | |
</MasterTableView> | |
<FilterMenu EnableTheming="True"> | |
<CollapseAnimation Duration="200" Type="OutQuint" /> | |
</FilterMenu> | |
</telerik:RadGrid><cc1:CollapsiblePanelExtender ID="cpe" runat="Server" TargetControlID="pnlStructure" | |
CollapsedSize="0" Collapsed="True" ExpandControlID="RadGrid1" CollapseControlID="RadGrid1" | |
AutoCollapse="False" AutoExpand="False" ScrollContents="False" ImageControlID="imgLegal" | |
ExpandedImage="~/lib/img/collapse.jpg" CollapsedImage="~/lib/img/expand.jpg" | |
ExpandDirection="Vertical" SuppressPostBack="true" /> | |
</cc1:CollapsiblePanelExtender><asp:ImageButton ID="imgPrint" runat="server" ImageUrl="lib/img/printer.png" | |
ImageAlign="Middle" AutoPostBack="False" CausesValidation="False" CssClass="imgPrint" /><asp:LinkButton | |
ID="lnkPrint" runat="server" CssClass="lnkPrint">Print Now</asp:LinkButton> | |
<asp:SqlDataSource ID="dsStructure" runat="server" ConnectionString="<%$ ConnectionStrings:csProperty %>" | |
SelectCommand="SELECT [ROLL_NO], [CHAR_OF_CONST], [QUALITY], [SHAPE], [YEAR_BUILT], [YEAR_BUILT_CODE], [CONDITION], [FULL_STOREYS], [PART_STOREYS], [HEIGHT_EFF_DATE_S], [SPLIT], [GROSS_AREA], [TOTAL_BASEMENT], [FINISH_BASEMENT], [FINISH_BASEMENT_TY], [FULL_BATHS], [HALF_BATHS], [NO_OF_BEDROOMS], [NO_OF_FIREPLACES], [HEATING_TYPE], [AIR_CONDITIONING], [GARAGE_TYPE], [GARAGE_SPACES], [STRUCT_CODE] FROM [TX_STRUCT] WHERE ([ROLL_NO] = @ROLL_NO) ORDER BY [CHAR_OF_CONST] DESC"> | |
<SelectParameters> | |
<asp:ControlParameter ControlID="RadGrid1" Name="ROLL_NO" PropertyName="SelectedValue" | |
Type="string" /> | |
</SelectParameters> | |
</asp:SqlDataSource> | |
</asp:Panel> | |
</asp:Content> | |
Again, I thank you for anymore help you can provide.
Brett
TryCast(Page.FindControl("gvPropertyDetails"), DataGrid)
syntax was working. What you actually need to do to access the controls from the master page is:
TryCast(Page.Form.FindControl("ContentPlaceholderID").FindControl("gvPropertyDetails"), DataGrid)
Thanks for the update, I actually moved it all to my content page for testing so I will use you masterpage code later on, once I get this working. However I am still haivng difficulties getting this going.
My New Error:
BC30516: Overload resolution failed because no accessible 'DataBind' accepts this number of arguments.
I have updated my code as follows, how do I reference myNewSqlString???
Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click
Dim myNewSQLString As String
Dim gvpd As DataGrid = TryCast(Page.FindControl("gvPropertyDetails"), DataGrid)
gvpd.DataBind(myNewSQLString)
If ddlSearch.SelectedValue = "rollno" Then
myNewSQLString =
"SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT" _
&
"FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO" _
&
"WHERE txroll.ROLL_NO = @ROLL_NO" _
&
"ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC"
'ElseIf ddlSearch.SelectedValue = "address" Then
' myNewSQLString = "USE this SQL SELECT for ADDRESS"
'ElseIf ddlSearch.SelectedValue = "legal" Then
' myNewSQLString = "USE this SQL SELECT for LEGAL"
End If
Dim sqlds As SqlDataSource = TryCast(Page.FindControl("dsGrid"), SqlDataSource)
sqlds.SelectCommand = myNewSQLString
Dim rgpd As DataGrid = TryCast(Page.FindControl("RadGrid1"), DataGrid)
rgpd.DataBind()
End Sub
Thanks again,
Brett
gvpd.DataBind(myNewSQLString)
Databind() doesn't take any arguments, and you bind later after setting the SelectCommand of your datasource to your new string... although you seem to be working with a different grid at that point.Still at square one. I am posting my full code as it is right now, please disregard any of the above code or comments as I have made so many edits, this is only code of any relavance.
I have no idea if I am performing the change of the sql select string at the right time or not.
Currently I am trying to set my SelectCommand on the SelectedIndexChanged of the drop down menu, how I don't know what should be happening on my button click other than a rebind of my grid.
Any help still apprecaited....
VB.net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load | |
imgPrint.Attributes.Add("onclick", "javascript:window.print(); return false;") | |
lnkPrint.Attributes.Add("onclick", "javascript:window.print(); return false;") | |
End Sub | |
Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender | |
'change selection and add a response script to rebind the second grid | |
RadGrid1.Items(0).Selected = True | |
RadGrid2.MasterTableView.Rebind() | |
End Sub | |
Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click | |
Dim rgpd As RadGrid = TryCast(Page.FindControl("RadGrid1"), RadGrid) | |
rgpd.MasterTableView.ClearSelectedItems() | |
rgpd.Rebind() | |
End Sub | |
Protected Sub ddlSearch_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlSearch.SelectedIndexChanged | |
Dim myNewSQLString As String | |
myNewSQLString = "SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT" _ | |
& "FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO" _ | |
& "WHERE txroll.ROLL_NO = @ROLL_NO" _ | |
& "ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC" | |
If ddlSearch.SelectedValue = "rollno" Then | |
myNewSQLString = "SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT" _ | |
& "FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO" _ | |
& "WHERE txroll.ROLL_NO = @ROLL_NO" _ | |
& "ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC" | |
ElseIf ddlSearch.SelectedValue = "address" Then | |
myNewSQLString = "SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT" _ | |
& "FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO" _ | |
& "WHERE address = @ROLL_NO" _ | |
& "ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC" | |
ElseIf ddlSearch.SelectedValue = "legal" Then | |
myNewSQLString = "SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT" _ | |
& "FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO" _ | |
& "WHERE txroll.ROLL_NO = @ROLL_NO" _ | |
& "ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC" | |
End If | |
Dim sqlds As SqlDataSource = TryCast(Page.FindControl("dsGrid"), SqlDataSource) | |
sqlds.SelectCommand = myNewSQLString | |
End Sub |
ASP.net
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" | |
CodeFile="details.aspx.vb" Inherits="test" %> | |
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> | |
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> | |
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> | |
</asp:Content> | |
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> | |
<div id="searchblock"> | |
<asp:DropDownList ID="ddlSearch" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlSearch_SelectedIndexChanged"> | |
<asp:ListItem Value="rollno">Roll No.</asp:ListItem> | |
<asp:ListItem Value="address">Civic\St. Address</asp:ListItem> | |
<asp:ListItem Value="legal">Legal Derscription</asp:ListItem> | |
</asp:DropDownList> | |
<asp:TextBox ID="txtSearch" runat="server" va>401015084000000</asp:TextBox> | |
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" /> | |
</div> | |
<div class="tablehdr"> | |
<h3> | |
Municipal Property Details</h3> | |
</div> | |
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="dsGrid" Skin="Telerik" | |
GridLines="None" OnPreRender="RadGrid1_PreRender"> | |
<MasterTableView AutoGenerateColumns="False" DataSourceID="dsGrid" DataKeyNames="ROLL_NO"> | |
<RowIndicatorColumn> | |
<HeaderStyle Width="20px"></HeaderStyle> | |
</RowIndicatorColumn> | |
<ExpandCollapseColumn> | |
<HeaderStyle Width="20px"></HeaderStyle> | |
</ExpandCollapseColumn> | |
<Columns> | |
<telerik:GridBoundColumn DataField="ROLL_NO" HeaderText="Roll Number" SortExpression="ROLL_NO" | |
UniqueName="ROLL_NO"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="Address" HeaderText="Address" SortExpression="Address" | |
UniqueName="Address" ReadOnly="True"> | |
</telerik:GridBoundColumn> | |
<%--<telerik:GridBoundColumn DataField="LEGAL1" HeaderText="LEGAL1" | |
SortExpression="LEGAL1" UniqueName="LEGAL1"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL2" HeaderText="LEGAL2" | |
SortExpression="LEGAL2" UniqueName="LEGAL2"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL3" HeaderText="LEGAL3" | |
SortExpression="LEGAL3" UniqueName="LEGAL3"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL4" HeaderText="LEGAL4" | |
SortExpression="LEGAL4" UniqueName="LEGAL4"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="LEGAL5" HeaderText="LEGAL5" | |
SortExpression="LEGAL5" UniqueName="LEGAL5"> | |
</telerik:GridBoundColumn>--%> | |
<telerik:GridTemplateColumn HeaderText="Legal Description" UniqueName="TemplateColumn"> | |
<ItemTemplate> | |
<asp:Label ID="Label58" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL1") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL2") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL3") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL4") %>'> | |
</asp:Label><br /> | |
<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LEGAL5") %>'> | |
</asp:Label> | |
</ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridBoundColumn DataField="CLASS" HeaderText="Class" SortExpression="CLASS" | |
UniqueName="CLASS"> | |
</telerik:GridBoundColumn> | |
<telerik:GridBoundColumn DataField="ASSESSMENT" DataType="System.Decimal" HeaderText="Assesed Value" | |
SortExpression="ASSESSMENT" UniqueName="ASSESSMENT" DataFormatString="{0:c}"> | |
</telerik:GridBoundColumn> | |
<telerik:GridHyperLinkColumn HeaderText="More Details" NavigateUrl="details.aspx?txtSearch={0}" | |
Text="View Details" UniqueName="column"> | |
<HeaderStyle HorizontalAlign="Center" /> | |
<ItemStyle HorizontalAlign="Center" /> | |
</telerik:GridHyperLinkColumn> | |
</Columns> | |
</MasterTableView> | |
<FilterMenu EnableTheming="True"> | |
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> | |
</FilterMenu> | |
</telerik:RadGrid> | |
<asp:SqlDataSource ID="dsGrid" runat="server" ConnectionString="<%$ ConnectionStrings:csProperty %>" | |
SelectCommand="SELECT TOP 1 txroll.ROLL_NO, CAST(txroll.STREET_NO AS varchar) + ' ' + txroll.STREET_NAME AS Address, txroll.LEGAL1, txroll.LEGAL2, txroll.LEGAL3, txroll.LEGAL4, txroll.LEGAL5, TX_ROLL_ASSESS.CLASS, TX_ROLL_ASSESS.ASSESSMENT | |
FROM TX_ROLL txroll LEFT OUTER JOIN TX_ROLL_ASSESS ON txroll.ROLL_NO = TX_ROLL_ASSESS.ROLL_NO | |
WHERE txroll.ROLL_NO = @ROLL_NO | |
ORDER BY TX_ROLL_ASSESS.ASS_YEAR DESC"> | |
<SelectParameters> | |
<asp:ControlParameter Name="ROLL_NO" ControlID="txtSearch" Type="String" /> | |
<%--<asp:QueryStringParameter Name="ROLL_NO" QueryStringField="txtSearch" Type="String" />--%> | |
</SelectParameters> | |
</asp:SqlDataSource> | |
<br /> | |
<asp:Panel ID="pnlStructure" runat="server"> | |
<div class="tablehdr"> | |
<h3> | |
Sturcture Details</h3> | |
</div> | |
<telerik:RadGrid ID="RadGrid2" runat="server" DataSourceID="dsStructure" GridLines="None" | |
Skin="Telerik"> | |
<MasterTableView AutoGenerateColumns="False" DataSourceID="dsStructure" DataKeyNames="ROLL_NO"> | |
<RowIndicatorColumn> | |
<HeaderStyle Width="20px" /> | |
</RowIndicatorColumn> | |
<ExpandCollapseColumn> | |
<HeaderStyle Width="20px" /> | |
</ExpandCollapseColumn> | |
<Columns> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn1" HeaderText="Construction"> | |
<ItemTemplate> | |
CHAR OF CONST:<asp:Label ID="Label58" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CHAR_OF_CONST") %>'> | |
</asp:Label><br /> | |
QUALITY:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.QUALITY") %>'> | |
</asp:Label><br /> | |
SHAPE:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.SHAPE") %>'> | |
</asp:Label><br /> | |
YEAR BUILT:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.YEAR_BUILT") %>'> | |
</asp:Label><br /> | |
YEAR BUILT CODE:<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.YEAR_BUILT_CODE") %>'> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn2" HeaderText="Building"> | |
<ItemTemplate> | |
CONDITION:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CONDITION") %>'> | |
</asp:Label><br /> | |
FULL STORYS:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FULL_STOREYS") %>'> | |
</asp:Label><br /> | |
PART STORYS:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.PART_STOREYS") %>'> | |
</asp:Label><br /> | |
HEIGHT EFF DATE:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.HEIGHT_EFF_DATE_S") %>'> | |
</asp:Label><br /> | |
SPLIT:<asp:Label ID="Label4" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.SPLIT") %>'> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn3" HeaderText="Area"> | |
<ItemTemplate> | |
GROSS AREA:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GROSS_AREA") %>'> | |
</asp:Label><br /> | |
TOTAL BASEMENT:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.TOTAL_BASEMENT") %>'> | |
</asp:Label><br /> | |
FINISH BASEMENT:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FINISH_BASEMENT") %>'> | |
</asp:Label><br /> | |
FINISH BASEMENT:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FINISH_BASEMENT_TY") %>'> | |
</asp:Label><br /> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn4" HeaderText="Features"> | |
<ItemTemplate> | |
FULL BATHS:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FULL_BATHS") %>'> | |
</asp:Label><br /> | |
HALF BATHS:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.HALF_BATHS") %>'> | |
</asp:Label><br /> | |
# BEDROOMS:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NO_OF_BEDROOMS") %>'> | |
</asp:Label><br /> | |
# FIREPLACES:<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NO_OF_FIREPLACES") %>'> | |
</asp:Label><br /> | |
HEATING TYPE:<asp:Label ID="Label5" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.HEATING_TYPE") %>'> | |
</asp:Label><br /> | |
AIR CONDITIONING:<asp:Label ID="Label6" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.AIR_CONDITIONING") %>'> | |
</asp:Label><br /> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Garage"> | |
<ItemTemplate> | |
GARAGE TYPE:<asp:Label ID="Label59" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GARAGE_TYPE") %>'> | |
</asp:Label><br /> | |
GARAGE SPACES:<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GARAGE_SPACES") %>'> | |
</asp:Label><br /> | |
STRUCTURE CODE:<asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.STRUCT_CODE") %>'> | |
</asp:Label></ItemTemplate> | |
</telerik:GridTemplateColumn> | |
</Columns> | |
</MasterTableView> | |
<FilterMenu EnableTheming="True"> | |
<CollapseAnimation Duration="200" Type="OutQuint" /> | |
</FilterMenu> | |
</telerik:RadGrid><cc1:CollapsiblePanelExtender ID="cpe" runat="Server" TargetControlID="pnlStructure" | |
CollapsedSize="0" Collapsed="True" ExpandControlID="RadGrid1" CollapseControlID="RadGrid1" | |
AutoCollapse="False" AutoExpand="False" ScrollContents="False" ImageControlID="imgLegal" | |
ExpandedImage="~/lib/img/collapse.jpg" CollapsedImage="~/lib/img/expand.jpg" | |
ExpandDirection="Vertical" SuppressPostBack="true" /> | |
</cc1:CollapsiblePanelExtender><asp:ImageButton ID="imgPrint" runat="server" ImageUrl="lib/img/printer.png" | |
ImageAlign="Middle" AutoPostBack="False" CausesValidation="False" CssClass="imgPrint" /><asp:LinkButton | |
ID="lnkPrint" runat="server" CssClass="lnkPrint">Print Now</asp:LinkButton> | |
<asp:SqlDataSource ID="dsStructure" runat="server" ConnectionString="<%$ ConnectionStrings:csProperty %>" | |
SelectCommand="SELECT [ROLL_NO], [CHAR_OF_CONST], [QUALITY], [SHAPE], [YEAR_BUILT], [YEAR_BUILT_CODE], [CONDITION], [FULL_STOREYS], [PART_STOREYS], [HEIGHT_EFF_DATE_S], [SPLIT], [GROSS_AREA], [TOTAL_BASEMENT], [FINISH_BASEMENT], [FINISH_BASEMENT_TY], [FULL_BATHS], [HALF_BATHS], [NO_OF_BEDROOMS], [NO_OF_FIREPLACES], [HEATING_TYPE], [AIR_CONDITIONING], [GARAGE_TYPE], [GARAGE_SPACES], [STRUCT_CODE] FROM [TX_STRUCT] WHERE ([ROLL_NO] = @ROLL_NO) ORDER BY [CHAR_OF_CONST] DESC"> | |
<SelectParameters> | |
<asp:ControlParameter ControlID="RadGrid1" Name="ROLL_NO" PropertyName="SelectedValue" | |
Type="string" /> | |
</SelectParameters> | |
</asp:SqlDataSource> | |
</asp:Panel> | |
</asp:Content> |
Thanks again,
Brett
Try just rebinding your grid at the end of your SelectedIndexChanged code. It won't work in the button click as the change to your SelectCommand won't be persisted between round trips to the server. If you need to use the button to rebind then you will have to set the SelectCommand in the Button_Click event.
Line 51: Dim sqlds As SqlDataSource = TryCast(Page.FindControl("dsGrid"), SqlDataSource)
Line 52: sqlds.SelectCommand = myNewSQLString
Any more thoughts? Thanks again.
I updated my code to find the dsGrid, and that seems to work, but only when searching for Roll_no, if I change the dropdown to "Address" the page refreshes, but I get
"System.Data.SqlClient.SqlException: Line 1: Incorrect syntax near 'txroll'."
Same thing happens If I change dropdown to "Legal"
Any thoughts on this. I am getting so confused...seems like nothing is working as I think it should.
Also when the page first loads..how to do I stop the grid from rendering and throwing an error since nohting has been search yet, it has nothing to bind to?
Thanks
Brett
For the other problem you will need to examine your SQL statements. When you get the error look in the error details and you should be able to find the SQL that was actually executed. You can check it for syntax, or copy it and test it directly in your database and maybe get more details on why it failed.