public void Populate(string targetReference)
        {
            MainDataContext db = new MainDataContext();

            if (_DataTableID != 0)
            {
                _DataTable = db._DataTables.Single(f => f.ID == _DataTableID);


                if (!Page.IsPostBack)
                {
                    var questions = _DataTable.CRM_FormFields.Where(f => f.IsActive && !f.IsArchived).OrderBy(f => f.OrderNo);
                    rptQuestions.DataSource = questions;
                    rptQuestions.DataBind();
                }
            }
            else
            {
                this.Visible = false;
            }


            foreach (RepeaterItem item in rptQuestions.Items)
            {
                int           fieldID   = Int32.Parse(((HiddenField)item.FindControl("hdnID")).Value);
                CRM_FormField formField = db.CRM_FormFields.SingleOrDefault(a => a.ID == fieldID);

                CRM.Controls.Admin.CustomFields.Form.CustomField formQuestionControl = (CRM.Controls.Admin.CustomFields.Form.CustomField)item.FindControl("ucFormQuestion");

                IEnumerable <CRM_FormFieldResponse> answers = db.CRM_FormFieldResponses.Where(r => r.CRM_FormFieldID == formField.ID && r.TargetReference == targetReference);

                formQuestionControl.Populate(answers);
            }
        }