c# - Para cada DataTable agregue UserControl a FlowLayoutPanel
user-controls dataset (1)
Codificaría esto tanto en su Formulario como en su UserControl.
En su UserControl, exponga la propiedad Text de cada una de sus dos etiquetas en una propiedad o un método. Si eliges una propiedad, es posible que tenga un aspecto similar a la etiqueta LabelUsername:
public string Username {
set { labelUsername.Text = value; }
}
En su bucle de Formulario a través de todas las DataRows en todas las Tablas de Datos en su DataSet y para cada DataRow, cree una instancia de su UserControl y agregue cada una a su FlowLayoutPanel. Use los valores de columna apropiados en sus DataRows para establecer sus valores de etiqueta de control de usuario:
foreach (DataTable dt in ds.Tables) {
foreach (DataRow row in dt.Rows) {
var uc = new YourUserControl { Username = row["usernameColumn"].ToString(),
Name = row["nameColumn"].ToString() };
flowLayoutPanel1.Controls.Add(uc);
}
}
Creé un UserControl que tiene una imagen y dos etiquetas: labelName labelUsername
También he creado un DataSet y DataTable que obtiene los datos de una base de datos SQL CE. Este bit está funcionando bien ya que logré recorrer todas las filas de DataTable y mostrar la información en un MessageBox.
Ahora quiero mostrar el UserControl en un FlowLayoutPanel para todas las filas en la DataTable y completar las dos etiquetas con los valores Name y Username de la DataTable. Aquí es donde estoy atascado ya que no sé qué codificar en el UserControl y qué código en el Formulario que contiene el FlowLayoutPanel.
alguien me puede ayudar por favor?