DataGridView未显示信息



我试图让我的datagridviewdocumenttos显示SP信息,它只是在我的windowsForm中张贴空白。首先是我的DataAccess类。

public DataTable Sp_Teste(int JobID, int BatchID)
{
try
{
ManageConnectionStateIbml1();
SqlCommand command = new SqlCommand("SP_SELECT_DOCS_WHERE_JOBID_STATUS", 
connectionIBML1);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@JobID", JobID);
command.Parameters.AddWithValue("@BatchID", BatchID);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[0];

}
catch (Exception ex)
{
throw ex;
}
finally
{
ManageConnectionStateIbml1();
connectionIBML1.Close();

}

}

然后是我的form.cs,请忽略前两个区域,它们是我的其他两个数据格

public void Update(DataGridViewCellEventArgs e)
{
#region DatagridViewOCR
dataGridViewOCR.ColumnCount = 4;
DataGridViewColumn columnBatchID = dataGridViewOCR.Columns[0];
columnBatchID.Width = 130;
DataGridViewColumn columnDOCID = dataGridViewOCR.Columns[1];
columnDOCID.Width = 130;
DataGridViewColumn columnOCR_DATA = dataGridViewOCR.Columns[2];
columnOCR_DATA.Width = 130;
DataGridViewColumn columnFetch_Name = dataGridViewOCR.Columns[3];
columnFetch_Name.Width = 130;
dataGridViewOCR.Columns[0].Name = "BatchID";
dataGridViewOCR.Columns[1].Name = "DOCID";
dataGridViewOCR.Columns[2].Name = "OCR_DATA";
dataGridViewOCR.Columns[3].Name = "Fetch_Name";
#endregion
#region DatagridViewDados
dataGridViewDados.ColumnCount = 5;
DataGridViewColumn columnDataDoc = dataGridViewDados.Columns[0];
columnDataDoc.Width = 120;
DataGridViewColumn columnDataCliente = dataGridViewDados.Columns[1];
columnDataCliente.Width = 120;
DataGridViewColumn columnDataData = dataGridViewDados.Columns[2];
columnDataData.Width = 120;
DataGridViewColumn columnDataTipoDoc = dataGridViewDados.Columns[3];
columnDataTipoDoc.Width = 120;
DataGridViewColumn columnDataOutros = dataGridViewDados.Columns[3];
columnDataOutros.Width = 120;
dataGridViewDados.Columns[0].Name = "DOC";
dataGridViewDados.Columns[1].Name = "Cliente";
dataGridViewDados.Columns[2].Name = "Data";
dataGridViewDados.Columns[3].Name = "TipoDoc";
dataGridViewDados.Columns[4].Name = "Outros";
#endregion
#region DatagridViewDocumentos
int JobID = 
Convert.ToInt32(dataGridViewDocumentos.Rows[e.RowIndex].Cells[0].Value.ToString());
int BatchID = 
Convert.ToInt32(dataGridViewDocumentos.Rows[e.RowIndex].Cells[0].Value.ToString());
dataGridViewDocumentos.DataSource = null;
dataGridViewDocumentos.Columns.Clear();
dataGridViewDocumentos.Refresh();



DataGridViewColumn columnCaixa = dataGridViewDocumentos.Columns[0];
columnCaixa.Width = 50;
DataGridViewColumn columnDOC = dataGridViewDocumentos.Columns[1];
columnDOC.Width = 50;
DataGridViewColumn columnID = dataGridViewDocumentos.Columns[2];
columnID.Width = 50;
DataGridViewColumn columnPROC = dataGridViewDocumentos.Columns[3];
columnPROC.Width = 50;
dataGridViewDocumentos.Columns.Add(columnCaixa);
dataGridViewDocumentos.Columns.Add(columnDOC);
dataGridViewDocumentos.Columns.Add(columnID);
dataGridViewDocumentos.Columns.Add(columnPROC);
dataGridViewDocumentos.ColumnCount = 4;

DataTable dt = da.Sp_Teste(JobID, BatchID);
dataGridViewDocumentos.DataSource = dt;
#endregion

}
}

这是我的sp:

CREATE PROCEDURE SP_SELECT_DOCS_WHERE_JOBID_STATUS
@JobID INT,
@BatchID INT
AS
BEGIN
SELECT top(10) i.*
from jobtable as j
inner join batchtable as b
on j.JobID = b.JobID
inner join imgtable as i
on i.BatchID = b.BatchID
END
GO

希望你们能帮助我,现在我没有任何错误显示。

删除这一行dataGridViewDocumentos.Columns.Clear();并检查发生了什么

做好调试,,,,使用F10键进行步骤调试,并检查您的sp是否返回任何数据。

最新更新