This is a migrated thread and some comments may be shown as answers.

DataBind Grid based on Search DropDown Option

13 Answers 168 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Brett
Top achievements
Rank 2
Brett asked on 24 Jul 2008, 03:34 PM
I have a grid that I need to databind on button click based on what is chosen in a dropdown list and what is typed in a textbox.

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>
&nbsp;
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
&nbsp;
<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

Sort by
0
Richard
Top achievements
Rank 1
answered on 24 Jul 2008, 04:06 PM
Before you do the DataBind can't you just set the SelectCommand of your datasource to the new SQL string?
0
Brett
Top achievements
Rank 2
answered on 24 Jul 2008, 06:34 PM
Possibly, I am still pretty new to all this.  Do you have an example of how to do that?
0
Richard
Top achievements
Rank 1
answered on 24 Jul 2008, 08:01 PM
You should be able to just get a reference to your SQLDataSource object and set its SelectCommand property...

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()

0
Brett
Top achievements
Rank 2
answered on 24 Jul 2008, 10:48 PM

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 ObjectByVal 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 ObjectByVal 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 ObjectByVal 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
0
Richard
Top achievements
Rank 1
answered on 25 Jul 2008, 02:57 PM
My apologies - I should have tested first.  I assumed that your

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)
0
Brett
Top achievements
Rank 2
answered on 28 Jul 2008, 02:18 PM
Hi Richard,
    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

0
Richard
Top achievements
Rank 1
answered on 28 Jul 2008, 02:32 PM
Just remove this line from your code:

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.
0
Brett
Top achievements
Rank 2
answered on 29 Jul 2008, 02:17 PM
Hi Richard, I tried what you said, but started getting an "Index out of Range" error.

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 ObjectByVal 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 ObjectByVal 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 ObjectByVal 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 ObjectByVal 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
0
Richard
Top achievements
Rank 1
answered on 29 Jul 2008, 03:06 PM
Hi 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.
0
Brett
Top achievements
Rank 2
answered on 29 Jul 2008, 03:55 PM
Tried doing the rebind at the end of teh selectedindexchanged event, and I get "Object reference not set to an instance of an object. "

Line 51:         Dim sqlds As SqlDataSource = TryCast(Page.FindControl("dsGrid"), SqlDataSource)
Line 52:         sqlds.SelectCommand = myNewSQLString


Any more thoughts?  Thanks again.
0
Richard
Top achievements
Rank 1
answered on 29 Jul 2008, 04:06 PM
Your code is not finding your datasource control.  If you are not using the master page scenario then use Page.Form.FindControl("dsGrid") instead of just Page.FindControl("dsGrid").  If you are using the master page scenario then use Page.Form.FindControl("ContentPlaceholderID").FindControl("dsGrid")
0
Brett
Top achievements
Rank 2
answered on 29 Jul 2008, 05:59 PM
Hi Richard,
 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
0
Richard
Top achievements
Rank 1
answered on 29 Jul 2008, 06:22 PM
For the page load I would suggest setting the initial SelectCommand of your datasource to a SQL statement that does not return any records.

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.
Tags
Grid
Asked by
Brett
Top achievements
Rank 2
Answers by
Richard
Top achievements
Rank 1
Brett
Top achievements
Rank 2
Share this question
or