2013-09-04 2 views
0
public bool ShowButton 
    { 
     get 
     { 
      return _ShowButton; 
     } 
     set 
     { 
      _ShowButton = value; 
      ReloadGrid(); 
     } 
    } 


    public bool ShowText 
    { 
     get 
     { 
      return _ShowText; 
     } 
     set 
     { 
      _ShowText = value; 
      ReloadGrid(); 
     } 
    } 


    private void ReloadGrid() 
    { 
     Gridview.Data ...... 
    } 

Когда я устанавливаю эти два свойства, мне нужно вызвать ReloadGrid. Но мое требование состоит в том, что если я назначил 2 свойства, также ReloadGrid должен вызывать только один раз, когда это происходит дважды. Как этого избежать?Как избежать перезагрузки по набору свойств

ответ

0

Как этого избежать?

Не называя ReloadGrid в настройщике свойств.

public bool ShowButton { get; set; } 
public bool ShowText { get; set; } 

Вы должны вызвать его вручную:

ShowButton = true; 
ShowText = false; 
ReloadGrid(); 

Другой вариант является более сложным. Вам нужна переменная bool, если она уже загружена, и вы должны установить ее в false в случаях, когда данные необходимо обновить. Затем вы можете проверить эту переменную в ReloadGrid:

private bool GridNeedsReload { get; set; } 
private void ReloadGrid() 
{ 
    if(GridNeedsReload) 
    { 
     Gridview.Data ...... 
    } 
} 
+0

'ShowButton = true; ShowText = false; ReloadGrid(); '
Невозможно, потому что ReloadGrid является приватным ...
, если я назначаю ShowButton = true .. ReloadGrid() появится и ShowText = true здесь также мне нужно то же самое ..
Что именно я хочу, это как на конечном наборе свойств мне нужно перезагрузить сетку – Bullet