2012-11-20 121 views
0

由于某种奇怪的原因,DataGridView未使用数据源中的表填充。我不确定我做错了什么。数据集有一张表。未使用DataSet填充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不会改变。它只是灰色。

+0

我想出了问题......我无法将数据源设置为数据集。它必须是一个数据表。 –

回答

0

我想出了这个问题。

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