仅显示 datagridview 的第一行
Displaying only first row from datagridview
我有两个 tables 发票,Invoice2
发票有很多列,如 invoiceno、itemcode、itemrate 等
而 Invoice2 只有一列 invoiceno 与 Invoice table
中的值相同
我想显示数据库中在两个 table 中具有相同 invoiceno 的行
它正在这样做
现在我想做的是仅从 Invoice table 中检索那些仅属于 Invoice2 table
中的 'first' invoiceno 的行
我正在为第一个、下一个、上一个、最后一个创建按钮
所以当我第一次点击时,它应该显示属于第一个 invoicno 的行,这在 tables
中是常见的
我使用datagridview显示数据
windows 表格,c#
SqlDataAdapter adpt = new SqlDataAdapter("Select invoices.itemcode, invoices.itemname,invoices.quantity,invoices.itemrate from invoices, invoice where invoices.invoiceno= invoice.invoiceno ", con);
adpt.Fill(ds, "invoices");
if (ds.Tables[0].Rows.Count > 0)
{
DataRow row = new DataRow();
int i = 0;
row.Cells[0].Value = ds.Tables[0].Rows[i]["itemcode"].ToString();
row.Cells[1].Value = ds.Tables[0].Rows[i]["itemname"].ToString();
row.Cells[2].Value = ds.Tables[0].Rows[i]["itemrate"].ToString();
}
dataGridView2.DataSource = ds.Tables["invoices"];
您应该在查询中执行排序以对结果集进行排序,然后
DataView view = new DataView(ds.Tables[0]);
DataTable distinctInvoiceNumbers = view.ToTable(true, "invoiceno");
//clear datagrid rows here
DataTable dt=new Datatable();
dt = ds.Tables[0].Clone();
int index=0;// zero if first is clicked, increase index for each next button click
foreach(datarow dr in ds.Tables[0].Rows)
{
if(distinctInvoiceNumbers.Rows[0][index].ToString()==dr[0].ToString())
{
dt.ImportRow(dr);//add matching rows to datatable
}
}
datagridview1.DataSource=dt;
我有两个 tables 发票,Invoice2
发票有很多列,如 invoiceno、itemcode、itemrate 等
而 Invoice2 只有一列 invoiceno 与 Invoice table
中的值相同我想显示数据库中在两个 table 中具有相同 invoiceno 的行 它正在这样做
现在我想做的是仅从 Invoice table 中检索那些仅属于 Invoice2 table
中的 'first' invoiceno 的行我正在为第一个、下一个、上一个、最后一个创建按钮
所以当我第一次点击时,它应该显示属于第一个 invoicno 的行,这在 tables
中是常见的我使用datagridview显示数据
windows 表格,c#
SqlDataAdapter adpt = new SqlDataAdapter("Select invoices.itemcode, invoices.itemname,invoices.quantity,invoices.itemrate from invoices, invoice where invoices.invoiceno= invoice.invoiceno ", con);
adpt.Fill(ds, "invoices");
if (ds.Tables[0].Rows.Count > 0)
{
DataRow row = new DataRow();
int i = 0;
row.Cells[0].Value = ds.Tables[0].Rows[i]["itemcode"].ToString();
row.Cells[1].Value = ds.Tables[0].Rows[i]["itemname"].ToString();
row.Cells[2].Value = ds.Tables[0].Rows[i]["itemrate"].ToString();
}
dataGridView2.DataSource = ds.Tables["invoices"];
您应该在查询中执行排序以对结果集进行排序,然后
DataView view = new DataView(ds.Tables[0]);
DataTable distinctInvoiceNumbers = view.ToTable(true, "invoiceno");
//clear datagrid rows here
DataTable dt=new Datatable();
dt = ds.Tables[0].Clone();
int index=0;// zero if first is clicked, increase index for each next button click
foreach(datarow dr in ds.Tables[0].Rows)
{
if(distinctInvoiceNumbers.Rows[0][index].ToString()==dr[0].ToString())
{
dt.ImportRow(dr);//add matching rows to datatable
}
}
datagridview1.DataSource=dt;