Cita:
Iniciado por jhonwilliams Creeme que intente hacer eso del tag, pero no me funcino, cuando creo lo nodos escribia algo como esto
Este codigo crea los nodos y asigna el tag.(Esto funciono)
Código:
TreeNode Nodoz = nodoPadre.Nodes.Add(drow[0].ToString());
string ultimocaracter =Nodoz.ToString().Substring(Nodoz.ToString().Length-1,1).ToString();
dv.RowFilter="intNodoPadre="+ultimocaracter+"";
foreach(DataRowView drw in dv)
{
Nodoz.Nodes.Add(drw[2].ToString());
Nodoz.Tag=drw[1].ToString();
}
Perdon... pero ayer me fue imposible conectarme a inter... ya que no estuve en la ofix...
pero bueno... revizando tu code...y abusando de tu confianza...te comento que creo que hay algunas cosillas fuera de orden... mira:
Código:
//Aqui agregas un nodo en el nodo padre...con info de un row...ok
TreeNode Nodoz = nodoPadre.Nodes.Add(drow[0].ToString());
//Pero aqui que info obtienes?
//Yo creo que el Nodoz.ToString() .... debe ser reemplazado por un Nodoz.Text ...
//ya que el ToString te trae la representacion string del objecto...y aunque ahorita no
//tengo como verificarlo...creo que no necesariamente debe traerte el text del nodo...
//lo checo hoy y te comento el lunes...
string ultimocaracter =Nodoz.ToString().Substring(Nodoz.ToString().Length-1,1).ToString();
//aqui va el filtro... ok
dv.RowFilter="intNodoPadre="+ultimocaracter+"";
foreach(DataRowView drw in dv)
{
//Pero aqui si sr... aqui se te olvidó mantener la referencia del objeto...
//deberia estar algo como en la agregacion que haces arriba...
// ( TreeNode miNodoNuevo =Nodoz.Nodes.Add(drw[2].ToString()) )
// y luego a ese nodo nuevo... le actualizas la propiedad Tag..
// seria algo como :
// miNodoNuevo.Tag = drw[1].ToString();
// ya que en la sentencia que tienes... estas actualizando el tag pero del padre.. osea de "Nodoz".
// y pues es comprensible que luego te salga un NullException ya que el unico que tiene tag
// es el padre de todos los nodos...
Nodoz.Nodes.Add(drw[2].ToString());
Nodoz.Tag=drw[1].ToString();
}