0

在主gridview"GridViewTtransmittals"中,我有一个名为.的嵌套gridview "GridViewTranstoCon"。当“GridViewTranstoCon”有数据时,我没有问题,但是当没有任何数据返回错误时,"A data item was not found in the container",我喜欢它返回空值或让它不可见。代码如下:

protected void GridViewTtransmittals_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.DataItem == null)
        return;
    TransmittaltoConPresentationModel transmittaltoCon = (TransmittaltoConPresentationModel)e.Row.DataItem;
    GridView g2 = (GridView)e.Row.FindControl("GridViewTranstoCon");

    if (transmittaltoCon.TranstoCons != null)
    {
        g2.DataSource = transmittaltoCon.TranstoCons;
        g2.DataBind();
    }
}

主gridview“GridViewTtransmittals”的数据源代码如下:

private void DisplayTransmittals()
{
    if (_Transmittals.Any())
    {
        var query = from transmittalno in _Transmittals

        select new TransmittaltoConPresentationModel { TransID = transmittalno.TransID,
                   Transmittal = transmittalno.TRANSMITTAL, TranstoCons = from doctranstocon in _DocTranstoCons 
                   where doctranstocon == null || transmittalno.TransID == doctranstocon.Transid
                   select doctranstocon != null ? doctranstocon.tblTranstoCon : null};

        GridViewTtransmittals.DataSource = query;
    }
    else
    {
        GridViewTtransmittals.DataSource = null;
    }
    GridViewTtransmittals.DataBind();
}
4

1 回答 1

0

尝试包括这个

protected void GridViewTtransmittals_RowDataBound(object sender, GridViewRowEventArgs e)
{
   if(e.Row.RowType == DataControlRowType.DataRow)
   {

   }
}
于 2012-10-19T05:15:57.277 回答