juangtju
Member
buenos dias , tardes y noches amigos del foro, tengo un pequeño detalle que no eh logrado solucionar.
en este programa tengo un b4xtable para presentar, agregar , editar y borrar registros que se guardan internamente en un archivo csv, sin embargo logre hacer una consulta directa a una base de datos y guardar los string que necesito en un archivo de texto, mi problema es que cuando abro el formulario basado en un template, hecho en PrefDialog, si abro por ejemplo codigo de cliente , me idexa lo que tengo guardado en el doc de texto para los codigos de cliente , si luego busco numero de documento , este me indexa todos los resultados de ese archivo tambien, el problema es que si regreso a codigo de cliente , me sigue apareciendo el index de este caso el de numero de documento y me borra el otro, y esto es hasta que quitas la aplicacion, lo que necesito es saber como refrescar los index de cada busqueda o como haria para evitar este detalle . espero alguien me pueda ayudar
B4X:
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("1")
B4XPages.SetTitle(Me, "Distribuidora de Viveres Ishosu C.A.")
xui.SetDataFolder("TableAndForms")
editCol = B4XTable1.AddColumn("Editar", B4XTable1.COLUMN_TYPE_TEXT)
editCol.Sortable = False
editCol.Width = 127dip
B4XTable1.RowHeight = 50dip
B4XTable1.TextColor = xui.Color_Blue
B4XTable1.NumberOfFrozenColumns = 1
B4XTable1.AddColumn("Codigo", B4XTable1.COLUMN_TYPE_TEXT).Width = 90dip
B4XTable1.AddColumn("Nombre", B4XTable1.COLUMN_TYPE_TEXT).Width = 300dip
B4XTable1.AddColumn("TipoDocu", B4XTable1.COLUMN_TYPE_TEXT).Width = 50dip
B4XTable1.AddColumn("Ruta", B4XTable1.COLUMN_TYPE_TEXT).Width = 50dip
B4XTable1.AddColumn("NumeDocu", B4XTable1.COLUMN_TYPE_TEXT).Width = 127dip
B4XTable1.AddColumn("FECHA", B4XTable1.COLUMN_TYPE_DATE).Width = 90dip
B4XTable1.AddColumn("Monto", B4XTable1.COLUMN_TYPE_NUMBERS).Width = 90dip
B4XTable1.AddColumn("usado", B4XTable1.COLUMN_TYPE_TEXT)
LoadData
PrefDialog.Initialize(Root, "Editable Table", 300dip, 300dip)
PrefDialog.LoadFromJson(File.ReadString(File.DirAssets, "template.json"))
PrefDialog.SetOptions("codiclie", File.ReadList(File.DirAssets, "codigos.txt"))
PrefDialog.SetOptions("nbclie", File.ReadList(File.DirAssets, "animals.txt"))
Log(PrefDialog.SetOptions("nbclie", File.ReadList(File.DirAssets, "animals.txt")))
PrefDialog.SetOptions("numedocu", File.ReadList(File.DirApp, "prueba.txt"))
PrefDialog.SetOptions("ruta", File.ReadList(File.DirAssets, "rutas.txt"))
PrefDialog.SearchTemplate.MaxNumberOfItemsToShow = 1
B4XTable1.MaximumRowsPerPage = 25
B4XTable1.BuildLayoutsCache(B4XTable1.MaximumRowsPerPage)
For i = 1 To editCol.CellsLayouts.Size - 1
Dim p As B4XView = editCol.CellsLayouts.Get(i)
p.AddView(CreateButton("btnEdit", Chr(0xF044)), 2dip, 5dip, 40dip, 40dip)
p.AddView(CreateButton("btnDelete", Chr(0xF00D)), 44dip, 5dip, 40dip, 40dip)
p.AddView(CreateButton("btnDuplicate",Chr(0xF0C5)), 85dip, 5dip, 40dip, 40dip)
Next
End Sub
en este programa tengo un b4xtable para presentar, agregar , editar y borrar registros que se guardan internamente en un archivo csv, sin embargo logre hacer una consulta directa a una base de datos y guardar los string que necesito en un archivo de texto, mi problema es que cuando abro el formulario basado en un template, hecho en PrefDialog, si abro por ejemplo codigo de cliente , me idexa lo que tengo guardado en el doc de texto para los codigos de cliente , si luego busco numero de documento , este me indexa todos los resultados de ese archivo tambien, el problema es que si regreso a codigo de cliente , me sigue apareciendo el index de este caso el de numero de documento y me borra el otro, y esto es hasta que quitas la aplicacion, lo que necesito es saber como refrescar los index de cada busqueda o como haria para evitar este detalle . espero alguien me pueda ayudar