Here is the beginning of what needs to happen on the dialog:

Code:
alias networks {
  if ($dialog(networks)) dialog -a networks
  else dialog -mv networks networks
}

dialog -l networks {
  title "Network Information"
  size -1 -1 500 130
  option dbu

  box "Network Information"        9,   10 10 480 110
  list                            10,   20 20  75 100, autohs 
  list                            11,   82 20  14 100, autohs hide

  box "sNotices"                 100,  108 20 372 92, right
  list                           200,  112 28 363 82, hsbar vsbar

}

on *:DIALOG:networks:init:0:{
  var %n = 0, %nn = $scon(0)
  while (%n < %nn) {
    inc %n
    scon %n
    did -a networks 10 $network
    did -a networks 11 $cid
    scon -r
  }
  did -c networks 10 1
  networks.load $scon(1).cid
}

on *:DIALOG:networks:sclick:10:{
  var %cid = $did(networks,11,$did(networks,10,1).sel).text
  if ($scid(%cid)) networks.load %cid
}

on *:SNOTICE:*:{
  if (!$exists($+(dialog\snotice.,$cid,.txt))) mkdir dialog
  write $+("dialog\snotice.,$cid,.txt") $1-

  if (!$dialog(networks)) return
  var %cid = $did(networks,11,$did(networks,10,1).sel).text
  if (%cid == $cid) {
    did -a networks 200 $1-
    did -z networks 200
    did -c networks 200 $did(networks,200).lines
    did -u networks 200 $did(networks,200).lines
  }
}

alias -l networks.load {
  ;$1=scid
  if (!$scid($1)) return
  scid $1

  ; Code to change right-side data here
  ;
  filter -fco $+("dialog\snotice.,$cid,.txt") networks 200 *
  did -z networks 200
  did -c networks 200 $did(networks,200).lines
  did -u networks 200 $did(networks,200).lines
  ;
  scid -r
}



In the modified code you posted, I noticed that you removed list 11. That hidden listbox is important to the operation of the dialog. It keeps track of the CID for each connection and allows you to reference them later. It also means that you CANNOT sort listbox 10. If you do, the networks will be all mixed up.

-genius_at_work