作者:妖姬脸似花甘露_545 | 来源:互联网 | 2023-09-18 15:41
有人告诉我要为我的学院建立一个注册系统,这是我的数据库:
`create table ingreso
(RNE int primary key not null,Apellido nvarchar(50),Nombre nvarchar(50),Procedencia nvarchar(50),Encargado nvarchar(50),Telefono int,Edad int,Instituto_Anterior nvarchar(100),Promedio int)`
我在每个字段中使用了textbox
,在下一个字段中使用了两个DataGridView
:
首先,我将所需的所有信息输入数据库(SQL Server 2014),然后有一个名为order
的按钮,该按钮在DataGridView
中仅显示{{ 1}}是在名为rows
的文本框中指定的,在其他txtfiltro
中,它应该向我显示剩余数据,但是向我显示DataGridView
中的所有数据,这是我的代码:
database
我该怎么做才能使第二个int i=0;
// Makes the Query
SqlCommand command = new SqlCommand(" Select RNE,Nombres,Apellidos,Promedio from Ingreso order by Promedio desc;",sqlConnection);
// obtains the number required by user
int numeroRegistros = Convert.ToInt32(txtfiltro.Text);
using (SqlDataReader dr = command.ExecuteReader())
{
// Charges data to the object
var dt = new DataTable();
dt.Load(dr);
// checks that data has been obtained
if(dt.Rows!= null && dt.Rows.Count>0)
{
// Obtains what user wanted
var pedidosPorUsuario = dt.AsEnumerable().Take(numeroRegistros);
// Obtains remaining data
var restantes = dt.AsEnumerable().Where(r=>{
i++;
return i>numeroRegistros;
});
// Converts to DataTable and asigns to DataGridView
this.dgvRequeridos.DataSource = pedidosPorUsuario.Count() > 0 ? pedidosPorUsuario.CopyToDataTable() : null;
this.dgvRestantes.DataSource = restantes.Count() > 0 ? restantes .CopyToDataTable() : null;
}
else
{
this.dgvRequeridos.DataSource = null;
this.dgvRestantes.DataSource = null;
}
this.dgvRequeridos.Refresh();
this.dgvRestantes.Refresh();
}
仅向我显示未输入txtfiltro指定范围内的数据?
这是我的完整代码:
DataGridView
如果要使用数据表的所有其余行,这可能会对您有所帮助
var data = datable.AsEnumerable().ToList();
var remainingData = new List();
for (int i = numeroRegistros; i {
remainingData.Add(data[i]);
}
我认为它现在应该可以工作