我想请求帮助。我使用union all where where condition,我的查询将显示在datagridview中。我的问题是,有没有办法计算它将生成的行,并在datagridview下面的标签或文本框中显示计数?这是我的代码:
string query = @"Select * FROM
(
SELECT date AS [Date],b.fname+' '+b.mname+' '+b.lname AS Person,
b.pk+ ', '+b.by+', '+b.my AS Address, b.sex,
'PoNa' AS [Transaction] FROM dbo.POST AS a INNER JOIN
[dbo].PERCORD AS b ON b.idp = a.idp
UNION ALL
SELECT date AS [Date],b.fname+' '+b.mname+' '+b.lname AS Person,
b.pk+ ', '+b.by+', '+b.my AS Address, b.sex,
'PreNa' AS [Transaction] FROM dbo.PRENA AS a INNER JOIN
[dbo].PERCORD AS b ON b.idp = a.idp
UNION ALL
SELECT date AS [Date],b.fname+' '+b.mname+' '+b.lname AS Person,
b.pk+ ', '+b.by+', '+b.mty AS Address, b.sex AS Sex,
'Check' AS [Transaction] FROM dbo.CHECK AS a INNER JOIN
[dbo].PERCORD AS b ON b.idp = a.idp
)
as T where date between '" + fromdt.Value.ToString() + "' and '" + todt.Value.ToString() + "' and [Transaction] = '" + ttypecb.Text + "'";
using (SqlConnection xcon = new SqlConnection(@"Server=QWERTY\SQLEXPRESS;Database=QWERTY;Integrated Security=SSPI;"))
{
using (SqlCommand xcom = new SqlCommand(query, xcon))
{
SqlDataAdapter xdapter = new SqlDataAdapter(xcom);
try
{
xcon.Open();
DataTable xlist = new DataTable();
xdapter.Fill(xlist);
trans.DataSource = xlist;
}
catch (Exception)
{
throw;
}
finally
{
xcon.Close();
}
}
}
}
我的问题是,有没有办法计算它将生成的行,并在datagridview下面的标签或文本框中显示计数?这是我的代码
一旦你调用DataTable
方法,Fill
就会包含所有行。所以你可以使用slist.Rows.Count
来获取这些信息。
我不相信有任何地方DataGridView
自动显示总行数。您可以使用您选择的任何Control
显示它。如果有帮助,您可以在DataGridView中使用行号