Código para el primer botón, siguiente, último, anterior y visualización de datos en la página de la aplicación C# de Windows

programación


Hola,
Creo una aplicación de Windows C#. en el que puse botones como primero,siguiente,último,anterior.
ahora quiero mostrar la recuperación de registros de la base de datos y mostrarlos en la página.
Cuando hago clic en el primer botón, primero se muestran los datos del tiempo de carga. cuando hago clic en último, los datos muestran el último registro, cuando hago clic en anterior, los datos se muestran anteriores, y cuando hago clic en siguiente, muestro los datos a continuación en la aplicación C # de Windows.
por favor ayúdenme…

Lo que he probado:

Intenté crear código, pero no tuve éxito. ¿Cómo puedo usar el bucle for para usarlo y mostrar datos en el tiempo de carga de la página?

Solución 2

Utilice este ejemplo para crear su formulario.

C#
public partial class Form1 : Form
   {

       public Form1()
       {
           InitializeComponent();
       }

       DataTable dt = new DataTable();
       int index = 0;
       int last = 0;

       private void Form1_Load(object sender, EventArgs e)
       {
           dt.Columns.Add("FirstName");
           dt.Columns.Add("LastName");

           dt.Rows.Add("Moto", "Nexus");
           dt.Rows.Add("Apple", "Iphone");
           dt.Rows.Add("Sony", "Vaio");
           dt.Rows.Add("Samsung", "Edge");

           index = 0;
           last = dt.Rows.Count -1;
           PopulateData();
       }

       private void btnFirst_Click(object sender, EventArgs e)
       {
           index = 0;
           PopulateData();
       }
       private void btnLast_Click(object sender, EventArgs e)
       {
           index = last - 1;
           PopulateData();
       }
       private void btnPrev_Click(object sender, EventArgs e)
       {
           index--;
           index = index <0? 0:index;
           PopulateData();
       }
       private void btnNext_Click(object sender, EventArgs e)
       {
           index++;
           index = index > last? last : index;
           PopulateData();
       }

       private void PopulateData()
       {
           DataRow row = dt.Rows[index];
           string firstName = row["FirstName"].ToString();
           string lastName = row["LastName"].ToString();
           txtFirstName.Text = firstName;
           txtLastName.Text = lastName;

       }
   }

Solución 7

Cita:

La llegada del control BindingNavigator en Windows Forms permite a los desarrolladores proporcionar a los usuarios finales una interfaz de usuario sencilla de navegación y manipulación de datos en los formularios que crean.

Navegar por datos con el control BindingNavigator – Windows Forms .NET Framework | Documentos de Microsoft[^]

Solución 1

No utilizas un bucle.
Exactamente cómo hacer esto depende de una serie de factores, como cómo obtiene sus datos, cuántos datos están involucrados y qué contiene exactamente su base de datos.
Pero una forma sería:
Asegúrese de que su base de datos contenga una columna de identificación, con IDENTIDAD.
Configure un nivel de clase int en su base de datos llamado lastRow y configúrelo en -1.
Cuando recupera una sola fila de la base de datos para mostrarla, use algo como:

SQL
SELECT TOP 1 * FROM MyTable WHERE Id > lastRow ORDER BY ID ASC

Si obtiene alguna fila, cargue lastRow con el valor de ID.
Para “Siguiente” es la misma consulta.
Para anteriores es:

SQL
SELECT TOP 1 * FROM MyTable WHERE Id < lastRow ORDER BY ID DESC

Primero:

SQL
SELECT TOP 1 * FROM MyTable ORDER BY ID ASC

Ltimo:

SQL
SELECT TOP 1 * FROM MyTable ORDER BY ID DESC

Solución 29

botón de anulación privado15_Click_1 (remitente del objeto, EventArgs e)
{

SqlConnection con = new SqlConnection(dbFunctions.connectionstring);
intentar
{
con.Open();
SqlCommand com = nuevo SqlCommand();
com.Conexión = estafa;
com.CommandType = CommandType.Text;

si (ID == “0” )
{
if (textMname.Text != “” && textqty.Text != “”)
{

DataTable dd = dbFunctions.getTable(“seleccione isnull(max(NO),0)+1 de exámenes médicos”);
si (dd.Rows.Count > 0)
{
ID = dd.Filas[0][0].Encadenar();
}
com.CommandText = “insertar en valores médicos (NO,M_Name,Cantidad,Paciente,Enfermedades,Observación,UNO,ESTADO) (@NO,@M_Nombre,@Cantidad,@Paciente,@Enfermedades,@Observación,@UNO,@ESTADO )”;
//Tipo = “NUEVO”;
}
demás
{
MessageBox.Show (“Mname y cantidad no deben ser nulos”);
}

}
demás
{
if (textMname.Text != “” && textqty.Text != “”)
{
com.CommandText = “actualizar datos médicos Establecer M_Name=@M_Name,Cantidad=@Cantidad,Paciente = @Paciente,Dises=@Dises,Remark=@Remark,UNO = @UNO donde NO=@NO “;
//Tipo = “EDITAR”;
}
demás
{
MessageBox.Show (“Mname y cantidad no deben ser nulos”);
}

}

com.Parameters.Add(“@NO”, SqlDbType.VarChar).Value = ID.ToString();
com.Parameters.Add(“@UNO”, SqlDbType.VarChar).Value = textUNO.Text;
com.Parameters.Add(“@M_Name”, SqlDbType.VarChar).Value = textMname.Text;
com.Parameters.Add(“@Qty”, SqlDbType.VarChar).Value = textqty.Text;
com.Parameters.Add(“@Paciente”, SqlDbType.VarChar).Value = paciente.Texto;
com.Parameters.Add(“@Dises”, SqlDbType.VarChar).Value = textDises.Text;
com.Parameters.Add(“@Remark”, SqlDbType.VarChar).Value = textRemarks.Text;
com.Parameters.Add(“@STATUS”, SqlDbType.Char).Value=”A”;

com.ExecuteNonQuery();
com.Connection.Close();
MessageBox.Show (“Detalles guardados correctamente”, “Éxito”, MessageBoxButtons.OK, MessageBoxIcon.Information);

mostrar();
claro();
this.ActiveControl = textMname;
}
captura (Excepción Ex)
{
//dbFunctions.Logs(Ej.Message, dbFunctions.nombre de usuario);
MessageBox.Show(Ej.Mensaje, “Error”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}

botón de anulación privada17_Click_1 (remitente del objeto, EventArgs e)
{

claro();

}
Borrar vacío privado()
{
identificación = “0”;
//textUNO.Text = “”;

// textPname.Text = “”;
textMname.Text = “”;
textqty.Texto = “”;
// textDises.Text = “”;
//textRemarks.Text = “”;

}

dataGridView6_CellContentClick_1 vacío privado (remitente del objeto, DataGridViewCellEventArgs e)
{
intentar
{
si (e.ColumnIndex == 0)
{
ID = datosGridView6.Rows[e.RowIndex].Células[“NO”].Valor.ToString();
DataTable dt = dbFunctions.getTable(“seleccione * de datos médicos donde NO='” + ID.ToString() + “‘”);
si (dt.Rows.Count > 0)
{
//si (dbfunction.Branch! = “0”)
//{
// cmb_Branch.Text = dataGridView1.Rows[e.RowIndex].Células[“Branch”].Valor.ToString();
//}
nombreMtexto.Texto = dt.Filas[0][“M_Name”].Encadenar();
textUNO.Text = dt.Filas[0][“UNO”].Encadenar();
textqty.Text = dt.Filas[0][“Qty”].Encadenar();
paciente.Texto = dt.Filas[0][“Patient”].Encadenar();
textDises.Text = dt.Rows[0][“Dises”].Encadenar();
textRemarks.Text = dt.Rows[0][“Remark”].Encadenar();
// númerovtexto.Texto = dt.Filas[0][“VNUMBER”].Encadenar();

}
demás
{
//identificación = 0;
}

}
si (e.ColumnIndex == 1)
{
Resultado de DialogResult = MessageBox.Show(“¿Desea eliminar los detalles del distribuidor? Presione YES”, “Alcove”, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
si (resultado == DialogResult.Yes)
{
dbFunctions.getTable(“actualizar el conjunto de datos médicos STATUS=’D’ donde NO='” + dataGridView6.Rows[e.RowIndex].Células[“NO”].Value.ToString() + “‘”);
mostrar();
}
}

}
atrapar { }

}

etiqueta vacía privada6_Click (remitente del objeto, EventArgs e)
{

}

botón de anulación privado16_Click_1 (remitente del objeto, EventArgs e)
{
borrar1();
fetch_uniq_no();
mostrar();

}
vacío privado clear1()
{
identificación = “0”;

// textPname.Text = “”;
textUNO.Text = “”;
textMname.Text = “”;
textqty.Texto = “”;
textDises.Text = “”;
textRemarks.Text = “”;

}

texto vacío privadoRemarks_TextChanged (remitente del objeto, EventArgs e)
{

}

vacío público fetch_uniq_no()
{
DataTable dt = dbFunctions.getTable(“select ‘” + dbFunctions.Finance_Year + “https://www.codeproject.com/”+’UE’+right(‘0000’+cast(isnull(max(cast(right(UNO ,4) as int)),0)+1 as varchar),4) as No from medicals where left(UNO,5)='” + dbFunctions.Finance_Year + “‘”);
si (dt.Rows.Count > 0)
{
textUNO.Text = dt.Filas[0][0].Encadenar();
}
}

Esta es mi consulta que
cómo agrego el botón anterior

コメント

タイトルとURLをコピーしました