2012-03-29 7 views
0

を働いていない私は、GridViewのフォーマットでの検索機能を作りました。私は1つのテキストボックス、2つのドロップダウンリストと検索ボタンがあります。私のテキストボックスには、医師の姓を検索するために使用され、第一及び第二のドロップダウンは、彼らが所属する州や都市フィルタおよび実行するための検索ボタンを使用しています。私は医師の姓を検索するときフィルタのGridView、DropDownListsは

テキストボックスには、働いているが、ドロップダウンではありません。あなたがレコードをフェッチするwhere句でDropDownListコントロールから、その値を使用しているとして、

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
       AllowSorting="True" AutoGenerateColumns="False" BackColor="White" 
       BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" 
       DataSourceID="SqlDataSource1" ForeColor="Black" GridLines="Vertical"> 
    <AlternatingRowStyle BackColor="#CCCCCC" /> 
     <Columns> 
      <asp:BoundField DataField="DOCTOR_FIRSTNAME" HeaderText="DOCTOR_FIRSTNAME" 
       SortExpression="DOCTOR_FIRSTNAME" /> 
      <asp:BoundField DataField="DOCTOR_MI" HeaderText="DOCTOR_MI" 
       SortExpression="DOCTOR_MI" /> 
      <asp:BoundField DataField="DOCTOR_LASTNAME" HeaderText="DOCTOR_LASTNAME" 
       SortExpression="DOCTOR_LASTNAME" /> 
      <asp:BoundField DataField="ROOM" HeaderText="ROOM" SortExpression="ROOM" /> 
      <asp:BoundField DataField="SCHEDULE" HeaderText="SCHEDULE" 
       SortExpression="SCHEDULE" /> 
      <asp:BoundField DataField="SPECIALIZATION" HeaderText="SPECIALIZATION" 
       SortExpression="SPECIALIZATION" /> 
      <asp:BoundField DataField="PROVINCE_NAME" HeaderText="PROVINCE_NAME" 
       SortExpression="PROVINCE_NAME" /> 
      <asp:BoundField DataField="CITY_NAME" HeaderText="CITY_NAME" 
       SortExpression="CITY_NAME" /> 
     </Columns> 
     <FooterStyle BackColor="#CCCCCC" /> 
     <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> 
     <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" /> 
     <SortedAscendingCellStyle BackColor="#F1F1F1" /> 
     <SortedAscendingHeaderStyle BackColor="Gray" /> 
     <SortedDescendingCellStyle BackColor="#CAC9C9" /> 
     <SortedDescendingHeaderStyle BackColor="#383838" /> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:MedicolConnectionString %>" 

     SelectCommand="SELECT 
      emed_accredited_providers.DOCTOR_FIRSTNAME, 
      emed_accredited_providers.DOCTOR_MI, 
      emed_accredited_providers.DOCTOR_LASTNAME, 
      emed_doctors_hospitals.ROOM, 
      emed_doctors_hospitals.SCHEDULE, 
      emed_accredited_providers.SPECIALIZATION, 
      emed_province.PROVINCE_NAME, 
      emed_city.CITY_NAME FROM emed_city 
      INNER JOIN emed_province ON emed_city.PROVINCE_CODE = 
      emed_province.PROVINCE_CODE INNER JOIN 
      emed_doctors_hospitals ON emed_city.CITY_CODE = 
      emed_doctors_hospitals.CITY_CODE INNER JOIN 
      emed_accredited_providers ON 
      emed_doctors_hospitals.DOCTOR_CODE = 
      emed_accredited_providers.DOCTOR_CODE WHERE 
      (emed_accredited_providers.DOCTOR_LASTNAME LIKE '%' + 
      @DOCTOR_LASTNAME + '%') OR 
      (emed_doctors_hospitals.PROVINCE_CODE = @PROVINCE_CODE) 
      ORDER BY emed_accredited_providers.DOCTOR_FIRSTNAME" 
     <SelectParameters> 
      <asp:ControlParameter ControlID="TextBox1" 
       Name="DOCTOR_LASTNAME" 
       PropertyName="Text" /> 
      <asp:ControlParameter ControlID="DropDownList1" 
       Name="PROVINCE_CODE" 
       PropertyName="SelectedValue" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 
    <br /> 
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <asp:DropDownList ID="DropDownList1" runat="server" 
     DataSourceID="SqlDataSource2" DataTextField="PROVINCE_NAME" 
     DataValueField="PROVINCE_NAME"> 
    </asp:DropDownList> 
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:MedicolConnectionString %>" 
     SelectCommand="SELECT [PROVINCE_NAME] FROM [emed_province] ORDER BY [PROVINCE_NAME] ASC"> 
    </asp:SqlDataSource> 
    <asp:DropDownList ID="DropDownList2" runat="server"> 
    </asp:DropDownList> 
    <asp:Button ID="Button1" runat="server" Text="Search" /> 
+1

ドロップダウンイベントで何をしているのかを確認する必要があります。 (C#コード) - 基本的には、テキストボックスと、両方のドロップダウンがなど、この他を使用するそうでない場合は、テキストボックスにデータがあると、ドロップダウンはいけない場合、このデータソースを使用し、フィルタやテキストボックスに基づいてデータソースを変更する必要があります。.. – user710502

+0

私の.csファイルにコードがありません。私はすべての.aspxの中に入れます。私は最初のドロップダウンの値をバインドするだけです。それで全部です。私は問題が私の質問か何かと思う。 EDIT:私は私のドロップダウンのデータソースを変更し、私はGridViewのために使用されたデータソースを使用する必要があります意味? – Lyard

+0

シナリオに応じて使用するデータソースをサーバーに伝える必要があるため、C#コードは必要ありません – user710502

答えて

0

使用DataValueField=PROVINCE_CODE

は、ここに私のコードです。

現在、PROVINCE_NAMEではなくPROVINCE_CODEの、検索クエリに起こっています。この代わりに、上記1の

<asp:DropDownList ID="DropDownList1" runat="server" 
     DataSourceID="SqlDataSource2" DataTextField="PROVINCE_NAME" 
     DataValueField="PROVINCE_NAME"> 


使用:

<asp:DropDownList ID="DropDownList1" runat="server" 
     DataSourceID="SqlDataSource2" DataTextField="PROVINCE_NAME" 
     DataValueField="PROVINCE_CODE"> 

はまた、あなたがドロップダウンリストにバインドするために、テーブルから[PROVINCE_CODE]を取得する必要があります。

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:MedicolConnectionString %>" 
     SelectCommand="SELECT [PROVINCE_CODE],[PROVINCE_NAME] FROM [emed_province] ORDER BY [PROVINCE_NAME] ASC"> 
関連する問題