DataGridView不显示信息 [英] DataGridView not showing the information
问题描述
我正在尝试让我的datagridviewDocumentos显示SP信息,并在WindowsForm中将其张贴为空白.首先是我的DataAccess类.
I´m trying to have my datagridviewDocumentos showing the SP information and its just posting blank in my windowsForm. First there is my DataAccess Class.
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,请忽略其他两个数据网格的前两个区域
Then there is my form.cs, please ignore the first two regions that are my other two datagrids
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
希望你们能帮助我,现在我没有出现任何错误.
Hope you guys can help me out, right now im not having any errors show up.
推荐答案
删除此行 dataGridViewDocumentos.Columns.Clear();
并检查会发生什么情况
remove this line dataGridViewDocumentos.Columns.Clear();
and check what happens
请很好地调试,使用F10键进行逐步调试,并请检查您的sp是否返回任何数据.
Do debug well,,,, Use key F10 for step debugging nd do check if Your sp returns any data.
这篇关于DataGridView不显示信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!