2014-07-27 4 views
0

gridview에서 데이터베이스에서 날짜를 채 웁니다. 드롭 다운에서 선택 데이터를 변경하려고합니다. SelectedIndexChanged 선택 항목을 선택했을 때 첫 번째 인덱스를 선택하면 데이터베이스에서 데이터를 선택합니다. 다른 데이터를 얻으려면이 코드를 시도하십시오. 내 코드는dropdownlist에 gridview를 채우십시오.

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      BindData(); 
     } 
    } 

private void BindData() 
    { 
     if (ddlTguidedit.SelectedIndex==0) 
     { 
      string strQuery = "SELECT [Pdfid],[Arpdf_name],[Arpdf_des],[pdf_date] FROM [books_alaa].[dbo].[Tbl_uploadpdf]"; 
      SqlCommand cmd = new SqlCommand(strQuery); 
      GridView1.DataSource = GetData(cmd); 
      GridView1.DataBind(); 
     } 
     else 
     { 
      string strQuery = " SELECT Pdfid, Enpdf_name AS Arpdf_name, Enpdf_des AS Arpdf_des, pdf_url, pdf_date FROM Tbl_uploadpdf"; 
      SqlCommand cmd = new SqlCommand(strQuery); 
      GridView1.DataSource = GetData(cmd); 
      GridView1.DataBind(); 
     } 
    } 

    private DataTable GetData(SqlCommand cmd) 
    { 
     DataTable dt = new DataTable(); 
     SqlConnection con = new SqlConnection(strConnString); 
     SqlDataAdapter sda = new SqlDataAdapter(); 
     cmd.CommandType = CommandType.Text; 
     cmd.Connection = con; 
     con.Open(); 
     sda.SelectCommand = cmd; 
     sda.Fill(dt); 
     return dt; 
    } 

protected void ddlTguidedit_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (ddlTguidedit.SelectedIndex == 0) 
     { 
      string strQuery = "SELECT [Pdfid],[Arpdf_name],[Arpdf_des],[pdf_date] FROM [books_alaa].[dbo].[Tbl_uploadpdf]"; 
      SqlCommand cmd = new SqlCommand(strQuery); 
      GridView1.DataSource = GetData(cmd); 
      GridView1.DataBind(); 
     } 
     else 
     { 
      string strQuery = " SELECT Pdfid, Enpdf_name AS Arpdf_name, Enpdf_des AS Arpdf_des, pdf_url, pdf_date FROM Tbl_uploadpdf"; 
      SqlCommand cmd = new SqlCommand(strQuery); 
      GridView1.DataSource = GetData(cmd); 
      GridView1.DataBind(); 
     } 
    } 

왜 작동하지 않습니까 ??

+0

'첫 번째 인덱스 선택'이란 무엇을 의미합니까? DropDownList의 첫 번째 (맨 위) 항목이나 DropDownList의 첫 번째 항목 (1)을 선택합니까? 그들은 서로 다르며 코드로 판단하면 다른 열을 반환합니다. –

+0

dropdownlist에서 나는 avlue 1과 영어 2 값으로 2 개의 choise arbic을 가졌습니다. 데이터베이스에서 데이터를 선택해야 할 필요가 있습니다. 아랍어 또는 영어 chosie에 따라 달라집니다. –

+0

자, 작동하지 않습니다. –

답변

0

!IsPostBack()에서 BindData()를 제거하십시오. DropDownList SelectedIndexChanged에 그리드 데이터를로드하고 있습니다. BindData() 함수가 !IsPostBack() 일 필요는 없습니다. BindData() 함수는 항상 DropDownList가 어떤 인덱스인지에 상관없이 항상로드합니다.

+0

아무 것도 발생하지 않았습니다. 여전히 기본 색인을 0으로 다시 검색하십시오. –

+0

코드를 게시하십시오. –

관련 문제