title: Using DropDownList as paging function in ASP.Net Formview
body: <p>I have a Formview that gets populated with SQL data when a dropdown is selected, but when I click edit, it wants to edit the first item on the dropdown list, because technically it still thinks its on the first page. I want the paging to be linked to the drop down but I'm not exactly sure how to accomplish this. I have a many fields so I won't post the full Formview but here's the key parts.</p>
  
  <p>Formview Item Template:</p>
  
  <pre><code>&lt;ItemTemplate&gt;
            &lt;table id="FormTable"&gt;
            &lt;tr&gt;&lt;th&gt;
          &lt;asp:DropDownList ID="ProjectNameDropDown" runat="server" AutoPostBack="true"  
          DataSourceID="SqlDataSource1" 
          DataValueField="Project_Name" name="Text" OnSelectedIndexChanged="ProjectSelect" AppendDataBoundItems="true"&gt;              
          &lt;asp:ListItem Text="Select a Project" /&gt;
          &lt;/asp:DropDownList&gt;
          &lt;asp:Panel ID="Panel1" runat="server" Visible="false"&gt;             
            &lt;/th&gt;
            &lt;th&gt;
              &lt;asp:Button ID="EditButton" runat="server" CausesValidation="False" 
                  CommandName="Edit" Text="Edit" /&gt;
              &amp;nbsp;&lt;asp:Button ID="DeleteButton" runat="server" CausesValidation="False" 
                  CommandName="Delete" Text="Delete" /&gt;
              &amp;nbsp;&lt;asp:Button ID="NewButton" runat="server" CausesValidation="False" 
                  CommandName="New" Text="New" /&gt;                 
            &lt;/th&gt;&lt;/tr&gt;            
             &lt;tr&gt;&lt;th&gt;                
              Business Category:
            &lt;/th&gt;&lt;td&gt;
              &lt;asp:Label ID="BusinessCategoryLabel" runat="server" 
                  Text='&lt;%# Bind("Business_Category") %&gt;'
                   /&gt;
              &lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;th&gt;
              Project Description:
            &lt;/th&gt;&lt;td&gt;
              &lt;asp:TextBox ID="ProjectDescriptionLabel" runat="server" ReadOnly="true"
                  Text='&lt;%# Bind("Project_Description") %&gt;' TextMode="MultiLine" Rows="5" /&gt;
              &lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;th&gt;
              Operations Owner:
            &lt;/th&gt;&lt;td&gt;
              &lt;asp:Label ID="OwnerLabel" runat="server" 
                  Text='&lt;%# Bind("Operations_Owner") %&gt;' /&gt;
              &lt;/td&gt;&lt;/tr&gt;
  </code></pre>
  
  <p>Code Behind:</p>
  
  <pre><code>protected void ProjectSelect(object sender, EventArgs e)
      {
          DropDownList ProjectNameDropDown = (DropDownList)FormView1.FindControl("ProjectNameDropDown");
          Panel Panel1 = (Panel)FormView1.FindControl("Panel1");
          Label BusinessCategoryLabel = (Label)FormView1.FindControl("BusinessCategoryLabel");
          TextBox ProjectDescriptionLabel = (TextBox)FormView1.FindControl("ProjectDescriptionLabel");
          Label OwnerLabel = (Label)FormView1.FindControl("OwnerLabel");
          Label StakeholderLabel = (Label)FormView1.FindControl("StakeholderLabel");
          Label ReqOrgLabel = (Label)FormView1.FindControl("ReqOrgLabel");
          Label PriorityLabel = (Label)FormView1.FindControl("PriorityLabel");
          Label DateInitiatedLabel = (Label)FormView1.FindControl("DateInitiatedLabel");
          Label ReqCompletionDateLabel = (Label)FormView1.FindControl("ReqCompletionDateLabel");
          Label ProjectLOELabel = (Label)FormView1.FindControl("ProjectLOELabel");
          Label OELabel = (Label)FormView1.FindControl("OELabel");
          Label PELabel = (Label)FormView1.FindControl("PELabel");
          Label EMLabel = (Label)FormView1.FindControl("EMLabel");
          Label PARCHLabel = (Label)FormView1.FindControl("PARCHLabel");
          Label WindowsLabel = (Label)FormView1.FindControl("WindowsLabel");
          Label StorageLabel = (Label)FormView1.FindControl("StorageLabel");
          Label NetworkLabel = (Label)FormView1.FindControl("NetworkLabel");
          Label Unix2Label = (Label)FormView1.FindControl("Unix2Label");
          Label TSGLabel = (Label)FormView1.FindControl("TSGLabel");
          Label SANDLabel = (Label)FormView1.FindControl("SANDLabel");
          Label MOPSLabel = (Label)FormView1.FindControl("MOPSLabel");
          Label ACSROpsLabel = (Label)FormView1.FindControl("ACSROpsLabel");
          Label IMOpsLabel = (Label)FormView1.FindControl("IMOpsLabel");
          Label OSCOpsLabel = (Label)FormView1.FindControl("OSCOpsLabel");
          Label FinancialSvcsLabel = (Label)FormView1.FindControl("FinancialSvcsLabel");
          Label VantageLabel = (Label)FormView1.FindControl("VantageLabel");
          Label VoiceSysOpsLabel = (Label)FormView1.FindControl("VoiceSysOpsLabel");
          Label VoiceAppOpsLabel = (Label)FormView1.FindControl("VoiceAppOpsLabel");
          Label ACPxOpsLabel = (Label)FormView1.FindControl("ACPxOpsLabel");
          Label WFXOpsLabel = (Label)FormView1.FindControl("WFXOpsLabel");
          Label WebOpsLabel = (Label)FormView1.FindControl("WebOpsLabel");
          Label DBALabel = (Label)FormView1.FindControl("DBALabel");
          Label CapacityPlanningLabel = (Label)FormView1.FindControl("CapacityPlanningLabel");
          Label BCPLabel = (Label)FormView1.FindControl("BCPLabel");
          Label DataCenterLabel = (Label)FormView1.FindControl("DataCenterLabel");
          Label GoldsmithLabel = (Label)FormView1.FindControl("GoldsmithLabel");
          Label AmericasITOpsLabel = (Label)FormView1.FindControl("AmericasITOpsLabel");
          Label APACITOpsLabel = (Label)FormView1.FindControl("APACITOpsLabel");
          Label EMEAITOpsLabel = (Label)FormView1.FindControl("EMEAITOpsLabel");
  
          Panel1.Visible = true;
          if (ProjectNameDropDown.Items.FindByText("Select a Project").Selected != true)
          {
  
  
  
  
              string myConnectionString = @"Data Source=odcsgwinsql11.devcsg.com\ss2008;Initial Catalog=hulc01;Integrated Security=True";
              SqlConnection myConnection = new SqlConnection(myConnectionString);
              string MySelectQuery = "SELECT * FROM Common WHERE Project_Name = '" + ProjectNameDropDown.SelectedValue + "'";
  
              using (SqlCommand cmd = new SqlCommand(MySelectQuery))
              {
                  cmd.Connection = myConnection;
                  myConnection.Open();
  
                  SqlDataAdapter Adapter1 = new SqlDataAdapter(cmd);
                  DataSet dset = new DataSet();
                  Adapter1.Fill(dset);
                  BusinessCategoryLabel.Text = dset.Tables[0].Rows[0]["Business_Category"].ToString();
                  ProjectDescriptionLabel.Text = dset.Tables[0].Rows[0]["Project_Description"].ToString();
                  OwnerLabel.Text = dset.Tables[0].Rows[0]["Operations_Owner"].ToString();
                  StakeholderLabel.Text = dset.Tables[0].Rows[0]["NonOps_Key_Stakeholder"].ToString();
                  ReqOrgLabel.Text = dset.Tables[0].Rows[0]["Requesting_Organization"].ToString();
                  PriorityLabel.Text = dset.Tables[0].Rows[0]["Priority"].ToString();
                  DateInitiatedLabel.Text = dset.Tables[0].Rows[0]["Date_Initiated"].ToString();
                  ReqCompletionDateLabel.Text = dset.Tables[0].Rows[0]["Required_Completion_Date"].ToString();
                  ProjectLOELabel.Text = dset.Tables[0].Rows[0]["Project_LOE"].ToString();
                  OELabel.Text = dset.Tables[0].Rows[0]["OE"].ToString();
                  PELabel.Text = dset.Tables[0].Rows[0]["PE"].ToString();
                  EMLabel.Text = dset.Tables[0].Rows[0]["EM"].ToString();
                  PARCHLabel.Text = dset.Tables[0].Rows[0]["PARCH"].ToString();
                  WindowsLabel.Text = dset.Tables[0].Rows[0]["Windows"].ToString();
                  StorageLabel.Text = dset.Tables[0].Rows[0]["Storage"].ToString();
                  NetworkLabel.Text = dset.Tables[0].Rows[0]["Network"].ToString();
                  Unix2Label.Text = dset.Tables[0].Rows[0]["UNIX2"].ToString();
                  TSGLabel.Text = dset.Tables[0].Rows[0]["TSG"].ToString();
                  SANDLabel.Text = dset.Tables[0].Rows[0]["SAND"].ToString();
                  MOPSLabel.Text = dset.Tables[0].Rows[0]["MOPS"].ToString();
                  ACSROpsLabel.Text = dset.Tables[0].Rows[0]["ACSR_Ops"].ToString();
                  IMOpsLabel.Text = dset.Tables[0].Rows[0]["IM_Ops"].ToString();
                  OSCOpsLabel.Text = dset.Tables[0].Rows[0]["OSC_Ops"].ToString();
                  FinancialSvcsLabel.Text = dset.Tables[0].Rows[0]["Financial_Svcs"].ToString();
                  VantageLabel.Text = dset.Tables[0].Rows[0]["Vantage"].ToString();
                  VoiceAppOpsLabel.Text = dset.Tables[0].Rows[0]["Voice_Sys_Ops"].ToString();
                  VoiceSysOpsLabel.Text = dset.Tables[0].Rows[0]["Voice_App_Ops"].ToString();
                  ACPxOpsLabel.Text = dset.Tables[0].Rows[0]["ACPX_Ops"].ToString();
                  WFXOpsLabel.Text = dset.Tables[0].Rows[0]["WFX_Ops"].ToString();
                  WebOpsLabel.Text = dset.Tables[0].Rows[0]["Web_Ops"].ToString();
                  DBALabel.Text = dset.Tables[0].Rows[0]["DBA"].ToString();
                  CapacityPlanningLabel.Text = dset.Tables[0].Rows[0]["Capacity_Planning"].ToString();
                  BCPLabel.Text = dset.Tables[0].Rows[0]["BCP"].ToString();
                  DataCenterLabel.Text = dset.Tables[0].Rows[0]["Data_Center"].ToString();
                  GoldsmithLabel.Text = dset.Tables[0].Rows[0]["Goldsmith"].ToString();
                  AmericasITOpsLabel.Text = dset.Tables[0].Rows[0]["Americas_IT_Ops"].ToString();
                  APACITOpsLabel.Text = dset.Tables[0].Rows[0]["APAC_IT_Ops"].ToString();
                  EMEAITOpsLabel.Text = dset.Tables[0].Rows[0]["EMEA_IT_Ops"].ToString();
              }
          }
  </code></pre>
  
  <p>I imagine somehow telling the Formview what page to switch to when selecting from the dropdown but I haven't been able to figure out the coding for that. Thanks for your help!</p>