【问题标题】:DataGridView not being populated with the DataSet未使用 DataSet 填充 DataGridView
【发布时间】:2012-11-20 21:34:49
【问题描述】:

由于某些奇怪的原因,DataGridView 没有被数据源中的表填充。我不确定我做错了什么。数据集确实有一个表格。

private void BtnViewUncommittedDataClick(object sender, EventArgs e)
{
    if (rbtnNewBusiness.Checked)
    {
        try
        {
            UpdateGridForNewBusiness();
            return;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            Logger.LogError(ex.Source, ex.TargetSite.ToString(), ex.Message);
            Enabled = true;
            return;
        }
    }
}

private void UpdateGridForNewBusiness()
{
    dgvDetail.DataSource = Database.GetNewBusinessDetailJobData();
    dgvSummary.DataSource = Database.GetNewBusinessSummaryJobData();
    dgvDetailNYD.DataSource = Database.GetNewBusinessDetailJobDataNyd();
    dgvSummaryNYD.DataSource = Database.GetNewBusinessSummaryJobDataNyd();
    lblDetailRowCountlbl.Text = "";
    lblDetailNYDRowCountlbl.Text = "";
    lblSummaryRowCountlbl.Text = "";
    lblSummaryNYDRowCountlbl.Text = "";
    lblDetailRowCountlbl.Text = "New Business Detail - Row Count:";
    lblDetailNYDRowCountlbl.Text = "New Business Detail NYD - Row Count:";
    lblSummaryRowCountlbl.Text = "New Business Summary - Row Count:";
    lblSummaryNYDRowCountlbl.Text = "New Business Summary NYD - Row Count:";
    lblDetailRowCount.Text = dgvDetail.Rows.Count.ToString(CultureInfo.InvariantCulture);
    lblSummaryRowCount.Text = dgvSummary.Rows.Count.ToString(CultureInfo.InvariantCulture);
    lblDetailNYDRowCount.Text = dgvDetailNYD.Rows.Count.ToString(CultureInfo.InvariantCulture);
    lblSummaryNYDRowCount.Text = dgvSummaryNYD.Rows.Count.ToString(CultureInfo.InvariantCulture);
}

只给你看第一个查询方法,其他的都是一样的:

public static DataSet GetNewBusinessDetailJobData()
{
    using (var conn = new SqlConnection(Settings.Default.ConnectionString))
    {
        using (var cmd = new SqlCommand("spGetNewBusinessDetailJobData", conn) {CommandType = CommandType.StoredProcedure})
        {
            conn.Open();
            cmd.ExecuteNonQuery();
            using (var da = new SqlDataAdapter(cmd))
            {
                using (var ds = new DataSet())
                {
                    da.Fill(ds);
                    return ds;
                }
            }
        }
    }
}

再次,数据被拉出,但由于某种原因,DataGridView 没有改变。它只是灰色的。

【问题讨论】:

  • 我发现了问题...我无法将数据源设置为数据集。它必须是一个数据表。

标签: c# sql winforms datagridview


【解决方案1】:

我发现了问题。

我无法将 DataGridView 的 DataSource 设置为 DataSet。它必须是一个 DataTable。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    相关资源
    最近更新 更多