2010-08-27 47 views
1

我在編輯一些不是由我自己寫的代碼,而是一些不在這裏的人。確定從哪個選項卡調用某個操作?

我正在編輯的頁面有三個選項卡,每個選項卡都包含一個不同的網格視圖,它由選項卡中的搜索框填充。網格視圖中的每一行都有一個複選框。當按下打印按鈕時,應該打印出複選框中打勾的所有記錄。然後頁面重新加載,但由於頁面編碼的方式導致部分內容丟失。

這是因爲一些代碼只在點擊標籤而不是回發時調用。無論如何,我改變下面的代碼,以便在回發後調用它?

這些是導致最多問題的功能..我需要他們加載回發上正確的選項卡..我不能這樣做所有三個代碼需要永遠運行在這種情況下。

AddActionsToGridView(gvGlobal); AddCheckboxesToGridView(gvGlobal);

{ 
     if (tabconConsignments.ActiveTabIndex == 0) 
     { 
      dtGlobalIDConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "GlobalID", "", ""); 

      //Global ID Tab 
      gvGlobal.DataSource = dtGlobalIDConsignments; 
      gvGlobal.DataBind(); 

      //Actions 
      AddActionsToGridView(gvGlobal); 
      AddCheckboxesToGridView(gvGlobal); 

     } 
     else if (tabconConsignments.ActiveTabIndex == 1) 
     { 

      dtCreatedDateConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "CreatedDate", "", ""); 

      //Created Date Tab 
      gvCreationDate.DataSource = dtCreatedDateConsignments; 
      gvCreationDate.DataBind(); 
      tbCreationDateSearch.Text = ""; 

      //Actions 
      AddActionsToGridView(gvCreationDate); 
      AddCheckboxesToGridView(gvCreationDate); 

     } 
     else if (tabconConsignments.ActiveTabIndex == 2) 
     { 
       dtAccountsConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "Account", "", ""); 

       //Account Tab 
       gvAccount.DataSource = dtAccountsConsignments; 
       gvAccount.DataBind(); 

       AddActionsToGridView(gvAccount); 
       AddCheckboxesToGridView(gvAccount); 
      } 

請讓我知道如果你要我發表任何代碼或任何更多的信息它是一個艱難的一個,我讓身邊,所以我可能會錯過什麼了我的頭。感謝您提供任何幫助。

回答

0

很難說如果我回答你的問題,因爲主題標題看起來有點不同於內容。你只是試圖將你的代碼移到一個在回發期間被調用的地方,而不是在標籤單擊事件期間被調用?如果是這樣,只是僅在回發將它移動到頁面加載事件,並指定您希望它像下面這樣運行:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(this.Page.IsPostBack) 
    { 
     switch (tabconConsignments.ActiveTabIndex) 
     { 
      case 0: 
       // Do your stuff here. 
       break; 
      case 1: 
       // Do your stuff here. 
       break; 
      case 2: 
       // Do your stuff here. 
       break; 
      default: 
       // Do your stuff here. 
       break; 
     } 
    } 
} 
0

我會想象這樣的事情

protected void Page_Load(object sender, EventArgs e) 
     { 
      if(!IsPostBack) 
       SetTabGrids((); 
     } 
     protected void btnPrint_Click(object sender, EventArgs e) 
     { 
      //Code 
      SetTabGrids(); 
     } 
     protected void tabconConsignments_TabIndexChanged(object sender, EventArgs e) 
     { 
      //Code 
      SetTabGrids(); 
     } 

     private void SetTabGrids() 
     { 
      switch(tabconConsignments.ActiveTabIndex) 
       case 0: //Global ID Tab 
        dtGlobalIDConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "GlobalID", "", ""); 
        gvGlobal.DataSource = dtGlobalIDConsignments; 
        gvGlobal.DataBind(); 
        AddActionsToGridView(gvGlobal); 
        AddCheckboxesToGridView(gvGlobal); 
        break; 
       case 1: //Created Date Tab 
        dtCreatedDateConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "CreatedDate", "", ""); 
        gvCreationDate.DataSource = dtCreatedDateConsignments; 
        gvCreationDate.DataBind(); 
        tbCreationDateSearch.Text = ""; 
        AddActionsToGridView(gvCreationDate); 
        AddCheckboxesToGridView(gvCreationDate); 
        break; 
       case 2: 
        dtAccountsConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "Account", "", ""); 
        gvAccount.DataSource = dtAccountsConsignments; 
        gvAccount.DataBind(); 
        AddActionsToGridView(gvAccount); 
        AddCheckboxesToGridView(gvAccount); 
        break; 
      } 
     } 

頁面加載第一次通過調用SetTabGrids()方法來執行網格綁定。之後,確保在處理PrintButtonClick和TabIndexChange的PostBack時調用SetTabGrids。

相關問題