title: Fill a GridView's columns using multiple queries
body: <p>I want to fill a grid's first &amp; second  column with query1, and third column with query2, and fourth column with query3.</p>
  
  <p>The code is run in the <code>RowDataBound</code> event of the grid, but it's not working:</p>
  
  <pre><code>protected void gvInner_RowDataBound(object sender, GridViewRowEventArgs e)
  {
      gvInner.Visible = true;
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
          Label iso = (Label)gvInner.FindControl("lbl_iso");
          Label description = (Label)gvInner.FindControl("lbl_desp");
  
          string str1 = @"SELECT M_MR_ISO_Heads.iso as iso, M_MR_ISO_Heads.description as description
                          FROM
                              T_MR_Action_point_Pre_MRM_C INNER JOIN M_MR_ISO_Heads 
                              ON T_MR_Action_point_Pre_MRM_C.iso_heads = M_MR_ISO_Heads.description";
  
          DataTable dt = new DataTable();
          dt = SQL_DB.ExecuteDataTable(str1);
  
          if (dt.Rows.Count &gt; 0)
          {
              iso.Text = dt.Rows[0]["iso"].ToString();
              description.Text = dt.Rows[0]["description"].ToString();
          }
  
          Label mrmpoints = (Label)gvInner.FindControl("lbl_mrmpoints");
          string str2 = @"SELECT T_MR_Action_point_Pre_MRM_C.mrm_no as mrmpoints
                          FROM
                              T_MR_Action_point_Pre_MRM_C INNER JOIN M_MR_ISO_Heads
                              ON T_MR_Action_point_Pre_MRM_C.iso_heads = M_MR_ISO_Heads.description 
                                 AND T_MR_Action_point_Pre_MRM_C.iso_heads = M_MR_ISO_Heads.description";
          DataTable dt1 = new DataTable();
          dt1 = SQL_DB.ExecuteDataTable(str2);
  
          if (dt1.Rows.Count &gt; 0)
          {
              mrmpoints.Text = dt1.Rows[0]["mrmpoints"].ToString();
          }
  
          Label totalpoints = (Label)gvInner.FindControl("lbl_tpoints");
          string str3 = @"SELECT Count(T_MR_Action_point_Pre_MRM_C.mrm_no) as totalpoints
                          FROM
                              T_MR_Action_point_Pre_MRM_C INNER JOIN M_MR_ISO_Heads
                                  ON T_MR_Action_point_Pre_MRM_C.iso_heads = M_MR_ISO_Heads.description
                                      AND                       T_MR_Action_point_Pre_MRM_C.iso_heads = M_MR_ISO_Heads.description";
  
          DataTable dt2 = new DataTable();
          dt2 = SQL_DB.ExecuteDataTable(str3);
  
  
          if (dt2.Rows.Count &gt; 0)
          {
              totalpoints.Text = dt2.Rows[0]["totalpoints"].ToString();
          }
      }
  }
  </code></pre>