2011-04-21 31 views
3

我正在一個求職門戶網站上,用戶可以輸入多個配置文件。如何更改gridview中按鈕的狀態

我在GridView中顯示所有配置文件。我的要求是現在 應該有一個狀態鏈接與他的所有配置文件(它是位)。

舉例: 這是我的GridView:

jobseekerid | Profileid | status 

    1   2  Active 
    1   3  DeActive 
    1   4  DeActive 
      .... 
      .... 

從所有這一切只有一個配置文件可以被激活。 因此,當用戶點擊任何不活動的配置文件時,它將變爲活動狀態,然後所有其餘的 配置文件將變爲非活動狀態。 條件是一次只能有一個配置文件處於活動狀態。 (當他使他的一個配置文件處於活動狀態時,剩下的配置文件將自動變爲非活動狀態。)

現在的問題是,當用戶在GridView中激活配置文件時,我無法使所有其餘配置文件處於非活動狀態。

我該怎麼做?

+0

你想更改狀態客戶端(即使用java腳本或JQuery)嗎? – Sukhjeevan 2011-04-21 11:26:06

+0

您可以在用戶使配置文件處於活動狀態時,將您的代碼提供給您試圖使其餘配置文件處於非活動狀態的位置嗎? – 10p 2011-04-21 15:50:13

+0

Sukhi你是對的,它應該通過Java腳本或jQuery來完成,它應該在ajax調用的幫助下直接反映在客戶端。 – Maxymus 2011-04-26 11:21:07

回答

0

這是一個常見問題,通常通過保留您填充gridview的原始數據集來解決。因此,在你的情況下,你應該在視圖狀態下存儲數據集(或配置文件列表 - 無論你用於填充gridview的數據集)(因爲它不是太大,否則頁面會加載緩慢)。然後,當你填充你的gridview時,你需要爲每個點擊事件指定一個配置文件ID,這樣你就知道哪個點擊了。然後,您需要遍歷保存在視圖狀態中的數據集,並將它們全部(除了剛纔點擊的那個)更新爲非活動狀態。循環並不像它聽起來那麼粗糙......在sql server 2005和2008中,你有一個名爲'table'的新數據類型,因此你可以一次性將所有其他profileID傳遞給數據庫,以將它們全部更新爲非活動狀態。

0

更新後,循環遍歷Gridview的錶行,並相應地更改這些值,如果這足以在後端更新記錄。如果存在與其相關的值,則可以將該值保存在隱藏字段中,並更改隱藏字段中的值。

如果這些更改會即時發生(即,您正在更新數據庫時發生更改),則可以將隱藏字段設置爲回發觸發器,並在點擊任何按鈕時將其設置爲eval()保存更新後的記錄並更新狀態。這將導致RowCommand觸發,在這裏你可以遍歷每條記錄並相應地更新。