C# 在C中使用Foreach字符串数组将LINQ记录到Datagrid#

C# 在C中使用Foreach字符串数组将LINQ记录到Datagrid#,c#,arrays,linq,datagridview,C#,Arrays,Linq,Datagridview,以上是我所做的代码。。现在,第一个函数可以很好地工作,但第二个函数是POP30310。。不显示任何我不知道为什么??请帮忙。。它们看起来已经完全一样了,我注释掉第一个函数只是为了检查它在第二个函数上是否工作,但它仍然没有显示我试图显示的任何数据…您需要尝试单步执行代码以查看哪里有数据,哪里没有数据。可能是SFC.POP30310s不包含任何数据,或者没有POPRCTNM==r或r.RRno.Trim()返回值和空字符串?我建议尝试LinqPad来帮助调试查询。但是您也可以将其分解为块并继续添加,

以上是我所做的代码。。现在,第一个函数可以很好地工作,但第二个函数是POP30310。。不显示任何我不知道为什么??请帮忙。。它们看起来已经完全一样了,我注释掉第一个函数只是为了检查它在第二个函数上是否工作,但它仍然没有显示我试图显示的任何数据…

您需要尝试单步执行代码以查看哪里有数据,哪里没有数据。可能是SFC.POP30310s不包含任何数据,或者没有POPRCTNM==r或r.RRno.Trim()返回值和空字符串?我建议尝试LinqPad来帮助调试查询。但是您也可以将其分解为块并继续添加,直到找到出错的位。POP3010是否有包含i.POPRCTNM==rrYes的数据。。我不知道为什么我要放一个数据来检索,但当我检查数据时,数据网格中显示的并不是一个空单元格,因为它有一个数据。。是否有我未锁定的datagrid属性,或者我使用的参数是否出错我只是重复了一些参数,但我尝试注释第一个函数,以检查第二个函数是否在没有第一个函数的情况下工作,但它仍然不显示任何数据??我不知道为什么,在使用什么进行开发之前,您应该能够使用调试器逐步完成查询。在这种情况下,您可以在foreach语句中使用断点来查看它是否实际添加了行,然后查看行实际包含的内容。试试这个,让我们知道你得到了什么。。。
private void getPOP30300(string rr) 
{

    try
    {
        DBSFCDataContext SFC = new DBSFCDataContext();
        var query = (from i in SFC.POP30300s 
                     where i.POPRCTNM == rr 
                     select new { RRno = i.POPRCTNM, Rdate = i.receiptdate, 
                       GLSPOST = i.GLPOSTDT, VENDID = i.VENDORID, 
                       VENDNAME = i.VENDNAME, SUBT = i.SUBTOTAL, PYMT = i.PYMTRMID,
                       Ddate = i.DUEDATE, PSEDDTT = i.POSTEDDT, PTDURID = i.PTDUSRID,
                       USER2 = i.USER2ENT, CREATDDT = i.CREATDDT, MODIFDT = i.MODIFDT,
                       TRXSORCE = i.TRXSORCE, ORSUBTOT = i.ORSUBTOT, 
                       DEXROWID = i.DEX_ROW_ID, REMARKS = i.REMARKS, 
                       TRCKSCALRECIPNO = i.TRUCK_SCALERECEIPTNO, TRCKFEE = i.TRUCKFEE,
                       UNLFEE = i.UNLOADFEE, PRNTCOST = i.IsPrintCost, 
                       TRCKNO = i.TRUCKNO, QTYSHIPBAGS = i.Qtyshippedbags, GW = i.GW,
                       TAREW = i.TAREW, NETWT = i.NETWT, PKGWT = i.PKGWT, 
                       PLATENO = i.PLATENO, VPNUM = i.VPNum, VPDATE = i.VPDate,
                       AMNTNWORDS = i.AmountInWords, VPRMKS = i.REMARKS, 
                       VPPOST = i.VPPost, VPEXPRT = i.VPExport });

        foreach (var r in query)
        {

            //DGVpop30300.DataSource = r;

            string[] row = { r.RRno.Trim(), r.Rdate.ToString(), r.GLSPOST.ToString(),
                             r.VENDID.ToString(), r.VENDNAME.Trim(),
                             r.SUBT.ToString(), r.PYMT.ToString(), r.Ddate.ToString(),
                             r.PSEDDTT.ToString(), r.PTDURID.Trim(), r.USER2.Trim(), 
                             r.CREATDDT.ToString(), r.MODIFDT.ToString(),
                             r.TRXSORCE.ToString(), r.ORSUBTOT.ToString(),
                             r.DEXROWID.ToString(), r.REMARKS.Trim(), 
                             r.TRCKSCALRECIPNO.ToString(), r.TRCKFEE.ToString(),
                             r.UNLFEE.ToString(), r.PRNTCOST.ToString(),
                             r.TRCKNO.ToString(), r.QTYSHIPBAGS.ToString(),
                             r.GW.ToString(), r.TAREW.ToString(), r.NETWT.ToString(), 
                             r.PKGWT.ToString(), string.Format("{0:###-###0}", r.PLATENO), 
                             string.Format("{0:##-####0}", r.VPNUM),
                             r.VPDATE.ToString(), string.Format("{0:###,###.##0}", r.AMNTNWORDS), 
                             r.VPRMKS.ToString(), r.VPPOST.ToString(),
                             r.VPEXPRT.ToString() };

            { DGVpop30300.Rows.Add(row); }
        }
    }
    catch (Exception ex) 
    {
        MessageBox.Show(ex.Message.ToString());
    }
}

private void getPOP30310(string rr) 
{

    try
    {
        DBSFCDataContext SFC = new DBSFCDataContext();

        var query = (from i in SFC.POP30310s 
                     where i.POPRCTNM == rr 
                     select new { 
                       RRno = i.POPRCTNM, RCPTLNNM = i.RCPTLNNM, POno = i.PONUMBER,
                       ITEMno = i.ITEMNMBR, ITEMdesc = i.ITEMDESC, 
                       VNDITNUM = i.VNDITNUM, VNDITDSC = i.VNDITDSC, 
                       UMQTYINB = i.UMQTYINB, ACTLSHIP = i.ACTLSHIP, UOFM = i.UOFM,
                       UNITCST = i.UNITCOST, EXTDCST = i.EXTDCOST, 
                       LOCNCODE = i.LOCNCODE, TRXSRCE = i.TRXSORCE, 
                       JOBNUMBR = i.JOBNUMBR, COSTCODE = i.COSTCODE, 
                       COSTTYPE = i.COSTTYPE, ORNUNTCST = i.ORUNTCST, 
                       OREXTCST = i.OREXTCST, ODECPLCU = i.ODECPLCU, 
                       BOLPRONUM = i.BOLPRONUMBER, ITEMrr = i.ITEMRR, 
                       DESC = i.DESCRIPTIONRR, PYMTRMID = i.PymtrMID, 
                       WHSArea = i.WHSArea, ISCHANGE = i.IsChangeExtendedCost });

        foreach (var r in query)
        {
            string[] row = { r.RRno.Trim() };
            { DGVpop30310.Rows.Add(row); }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message.ToString());
    }
}