[ruby-gnome2-doc-cvs] [Hiki] create - tut-treeview-model-retrieve

アーカイブの一覧に戻る

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 10日 (土) 09:29:23 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-treeview-model-retrieve
-------------------------
= Recuperando Dados de Linha
{{link "tut-treeview-model-manipulate", "tut-treeview-model", "tut-treeview", "tut-treeview-model-remove"}}

Armazenar dados n$BeP(B muito $B(Bil se eles n$BeP(B puderem ser recuperados novamente. Isso feito usando Gtk::TreeIter#[], o qual recupera o valor na dada coluna da linha para a qual o "iter" aponta.

Eis o exemplo anterior extendido para navegar o armazenador de lista e imprimir os dados armazenados. Como um extra, a gente usa o  Gtk::TreeModel#each para navegar o armazenador e recuperar o n$B(Bero da linha do the Gtk::TreePath passado para a gente no bloco de c$B(Bigo:

  # Cria um armazenador para o primeiro nome, $B(Btimo nome e ano de nascimento
  liststore = Gtk::ListStore.new(String, String, Integer)

  # Adiciona uma linha vazia e a preenche com alguns dados
  iter = liststore.append

  iter[0] = "Jos
  iter[1] = "Silva"
  iter[2] = 1970

  # Adiciona outra linha e preenche com alguns dados
  iter = liststore.append

  iter[0] = "Ana"
  iter[1] = "Maria"
  iter[2] = 1967

  liststore.each do |model,path,iter|
    printf("Linha %s: %s %s, nascido(a) em %i\n", path.to_str, iter[0], iter[1], iter[2]);
  end

Uma coisa que vale a pena mencionar: significa que a gente precisa liberlo uma vez que a gente n$BeP(B precisa mais dele; o segundo que todos os campos de uma linha s$BeP(B configurados para um valor padr$BeP(B nil aproprieado para o tipo de dado em quest$BeP(B. Um campo de um tipo integer contero valor 0 atque ele configurado para um novo valor, e as strings e todos os tipos de ponteiros ser$BeP(B nil atque sejam configurados para outra coisa. Execute o programa acima com uma linha vazia adicional e olhe a sa$ByE(Ba para ver isto em efeito.





ruby-gnome2-cvs メーリングリストの案内
アーカイブの一覧に戻る