DataGridView不显示信息 [英] DataGridView not showing the information

查看:40
本文介绍了DataGridView不显示信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试让我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆