2016-04-05 20 views
0

Bir web sayfasındaki açılır ve bir düğmem var. Bu düğmeden sonra sayfa numaralarını kullanarak grileşmeyi alamıyorum. Ama herhangi bir sayfa numarasına tıkladığımda gridview yok oluyor (Başlangıçta benim panelim görünmez) .Çok sayıda çözüm denedim, ama çalışmıyor. Kodda yanlış olanları kontrol edebilir misin?Gridview Düğme tıklatıldıktan sonra çalışmıyor asp web sayfasında tıklatın

<asp:GridView ID="gv_AllEmployees" runat="server" 
    class="table table-striped table-bordered table-hover" 
    AutoGenerateColumns="False" 
    OnRowDataBound="gv_AllEmployees_RowDataBound" 
    AllowPaging="true" PageSize="15" 
    OnPageIndexChanging="gv_AllEmployees_PageIndexChanging"> 

protected void Page_Load(object sender, EventArgs e) 
{ 
    dt_Departments = ViewsLogic.GetDepartments(); 
    if (!IsPostBack) 
    { 
     ddlDepartment.DataSource = dt_Departments; 
     ddlDepartment.DataTextField = "DepartName"; 
     ddlDepartment.DataValueField = "DeptId"; 
     ddlDepartment.DataBind(); 
     ddlDepartment.Items.Insert(0, new ListItem("Select Department", "Select Department")); 

     ListItem lst = new ListItem("All Departments", "-1"); 
     ddlDepartment.Items.Insert(ddlDepartment.Items.Count, lst); 
     this.BindAllEmpLog(); 
     //gv_AllEmployees.Visible = true; 
    } 

} 

protected void gv_AllEmployees_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    gv_AllEmployees.PageIndex = e.NewPageIndex; 
    BindAllEmpLog(); 

} 

void BindAllEmpLog() 
{ 

    dt_AllEmpLog = ViewsLogic.GetAllEmpLog(date.Date); 
    //gv_AllEmployees.PageIndex = newPageIndex; 
    gv_AllEmployees.DataSource = dt_AllEmpLog; 

    gv_AllEmployees.DataBind(); 
    pnl_AllEmployees.Visible = true; 
} 

protected void btnSearch_Click(object sender, EventArgs e) 
{ 
    pnl_Grids.Visible = false; 
    lblError.Visible = false; 
    pnl_AllEmployees.Visible = false; 
    date = Convert.ToDateTime(txtDate.Text); 
    if (ddlDepartment.SelectedIndex < 1) 
    { 
     pnl_Grids.Visible = false; 
     pnl_AllEmployees.Visible = false; 
     lblError.Text = "Please Select a department from the list"; 
     lblError.Visible = true; 

    } 
    else if (ddlDepartment.SelectedIndex == ddlDepartment.Items.Count - 1) //If last item Selected 
    { 
     BindAllEmpLog(); 


    } 
    else 
    { 
+0

Eğer hata ayıklama çalışıyorum – Andrei

+0

yanı kılavuz görünümü işaretlemeyi sonrası Lütfen? herhangi bir hata (lar) Ve 2. sayfayı (örnek) seçerken, burada değer nedir (dt_AllEmpLog = ViewsLogic.GetAllEmpLog (date.Date);)? –

+0

evet index2'de hata ayıklandı, bu yönteme gidiyor (gv_AllEmployees_PageIndexChanging) ve sayfayı dışarı ızgarası ile gösteriliyor. Bu yönteme gitmiyor ("void BindAllEmpLog()) – user3116746

cevap

1

Teşekkürler beyler. Çözümü buldum. Aşağıdaki satırdan dolayı indeks değişiminin veri tablosundaki verileri almıyordum. Bu satırı BindAllEmpLog() yönteminde kopyaladım. o zaman iyi çalışıyor.

date = Convert.ToDateTime(txtDate.Text); 
İlgili konular