Programa Linux Pregunta

irosasl

Bovino adolescente
#1
Actualmente me di a la tare de hacer un programa en linux, para lo cual esto utilizando Mono.
Genero unos controles en forma dinámica, en un control de tipo Fidex le agrego su barra de Scroll pero a la hora de hacer el focus sobre un control, que no se ve en la ventana no puedo activar el escroll vertical. No se si alguien sepa como y me pudiera hechar la mano, prometo subir todo el programa completo cuando este termando

genera controles:
for (int i = 0; i < 100; i++) {
rows[0,i] = new Entry();
rows [0, i].SetSizeRequest (150, 30);
rows [0, i].TooltipText="Clave de Producto";
rows [0, i].KeyReleaseEvent+=rows_KeyReleaseEvent;

rows [0, i].Show();
ixed_grid_productos.Put(rows [0, i] ,0,i*30);//posicion x,y
}


pone foco:
protected void rows_KeyReleaseEvent (object o, Gtk.KeyReleaseEventArgs args)
{
if ((rows[columna, renglon].Text.Length> 0) && (args.Event.Key== Gdk.Key.KP_Enter))
{


MySqlConnection MyConnect_productos = new MySqlConnection();
MySqlCommandBuilder cmdBuilder_productos = default(MySqlCommandBuilder);
MySqlCommand command_productos = default(MySqlCommand);
MySqlDataAdapter adapter_productos = default(MySqlDataAdapter);

string querystring_productos = null;


try {

MyConnect_productos.ConnectionString =connectionString ;
querystring_productos = "SELECT * FROM catalogo where codigo='" + rows[0,renglon].Text + "' and companyID='000001'";

MyConnect_productos.Open();
adapter_productos = new MySqlDataAdapter();
command_productos = new MySqlCommand(querystring_productos, MyConnect_productos);
adapter_productos.SelectCommand = command_productos;
cmdBuilder_productos = new MySqlCommandBuilder(adapter_productos);
cmdBuilder_productos.ConflictOption = ConflictOption.OverwriteChanges;
productos = new DataSet();
adapter_productos.Fill(productos,"catalogo");

// lbl_error.Text=datos.Tables[0].Rows[0].ItemArray[0].ToString();

if ( productos.Tables[0].Rows.Count > 0)

{
rows[2,renglon].Text= productos.Tables[0].Rows[0].ItemArray[2].ToString();
rows[1,renglon].Text="1.0";
rows[1,renglon].SelectRegion(0,rows[1,renglon].Text.Length);
rows[3,renglon].Text=( Decimal.Parse( productos.Tables[0].Rows[0].ItemArray[3].ToString(),CultureInfo.CurrentCulture)).ToString();
rows[4,renglon].Text= (decimal.Parse( rows[1,renglon].Text) * decimal.Parse( rows[3,renglon].Text)).ToString();
OnSetFocus(rows[1,renglon]);
suma(renglon);
rows[1,renglon].ModifyText(StateType.Active);
}
else
{

MyConnect_productos.Close();
productos.Clear();
productos.Dispose();
adapter_productos.Dispose();
command_productos.Dispose();
cmdBuilder_productos.Dispose();





}


} catch (Exception ex) {

MyConnect_productos.Close();
productos.Clear();
productos.Dispose();
adapter_productos.Dispose();
command_productos.Dispose();
cmdBuilder_productos.Dispose();
}


}
else
{

}

}



el scroll vertical es el que no puedo hacer que se active.
 
Arriba