Exemplo n.º 1
0
        private void CreateLocusControls()
        {
            DataTable dtLocus = bi.GetLocus(Guid.Parse(Session["LabKitID"].ToString()));
            int       rows    = dtLocus.Rows.Count / 5;

            if (dtLocus.Rows.Count % 5 > 0)
            {
                rows++;
            }

            List <Table> tables = GetTables();

            int replicate = 1;

            foreach (Table table in tables)
            {
                for (int i = 0; i < rows; i++)
                {
                    TableRow tr = new TableRow();
                    tr.Height = 46;
                    for (int j = 0; j < 5 && i * 5 + j < dtLocus.Rows.Count; j++)
                    {
                        TableCell td = new TableCell();
                        td.Style.Add("width", "170");
                        td.Style.Add("height", "48");
                        td.Style.Add("background-image", "images/combo_bg.gif");

                        EvidenceLocus locus = (EvidenceLocus)LoadControl("~/Controls/EvidenceLocus.ascx");
                        locus.Attributes.Add("style", "width: 170; height:48;");
                        string locusName = dtLocus.Rows[i * 5 + j]["FieldName"].ToString();
                        locus.ID             = "Rep" + replicate + "_" + locusName;
                        locus.LocusName.Text = locusName;
                        td.Controls.Add(locus);
                        tr.Controls.Add(td);

                        if (j != 4)
                        {
                            TableCell tdSpacer = new TableCell();
                            tdSpacer.Width = 18;
                            tdSpacer.Controls.Add(new LiteralControl("&nbsp;"));
                            tr.Controls.Add(tdSpacer);
                        }
                    }

                    table.Rows.Add(tr);

                    if (i != rows - 1)
                    {
                        TableRow  trSpacer = new TableRow();
                        TableCell td       = new TableCell();
                        td.ColumnSpan = 9;
                        td.Height     = 8;
                        td.Controls.Add(new LiteralControl("<img src=\"images/spacer.gif\" width=\"1\" height=\"4\" />"));
                        trSpacer.Controls.Add(td);
                        table.Controls.Add(trSpacer);
                    }
                }
                replicate++;
            }
        }
Exemplo n.º 2
0
        private void AddDropDownJavaScripts()
        {
            List <DropDownList> ddlControls = new List <DropDownList>();

            GetDropDownsList(ddlControls);

            foreach (DropDownList ddlControl in ddlControls)
            {
                StringBuilder sbScript = new StringBuilder();

                sbScript.Append("javascript:");
                EvidenceLocus parent = ((EvidenceLocus)ddlControl.Parent);
                string        ddID   = ddlControl.ClientID;
                // get text ID (when we do this from DB, we will generate them together, so we will set it in the same place... much better)
                string txtID = parent.Alleles.ClientID;
                sbScript.Append("var txt = document.getElementById('" + txtID + "');");
                sbScript.Append("var dd = document.getElementById('" + ddID + "');");
                sbScript.Append("if(dd.value == 'INC') txt.value = '';");
                sbScript.Append("else if(dd.value == 'NEG') txt.value = 'NEG';");
                sbScript.Append("else if(txt.value != '' && txt.value != 'NEG') txt.value += ',' + dd.value;");
                sbScript.Append("else txt.value = dd.value;");

                ddlControl.Attributes.Add("onchange", sbScript.ToString());
            }
        }
Exemplo n.º 3
0
        private void GetDropDownsList(List <DropDownList> ddlControls)
        {
            DataTable dtLoci = bi.GetLocus(Guid.Parse(Session["LabKitID"].ToString()));

            foreach (DataRow dr in dtLoci.Rows)
            {
                string locus = dr["FieldName"].ToString();

                int replicate = 1;
                foreach (Table table in GetTables())
                {
                    string        controlName = "Rep" + replicate.ToString() + "_" + locus;
                    EvidenceLocus el          = (EvidenceLocus)table.FindControl(controlName);
                    ddlControls.Add(el.DdAllele);
                    replicate++;
                }
            }
        }
Exemplo n.º 4
0
        private void BindDropDowns()
        {
            DataTable dtLoci = bi.GetLocus(Guid.Parse(Session["LabKitID"].ToString()));

            foreach (DataRow dr in dtLoci.Rows)
            {
                string    locus    = dr["FieldName"].ToString();
                DataTable dtValues = bi.getLocusAlleles(locus);

                // remove the zero allele which only exists to provide a default frequency value for an infrequent allele.
                //the user can type this in manually as any allele that's not in the dropdown
                dtValues.Rows.Remove(dtValues.Select("FiledValue='0'")[0]);

                dtValues.Select("FiledName='INC'")[0]["FiledValue"] = "INC";
                DataRow drNeg = dtValues.NewRow();
                drNeg["FiledName"]  = "NEG";
                drNeg["FiledValue"] = "NEG";
                dtValues.Rows.Add(drNeg);

                List <DropDownList> ddlControls = new List <DropDownList>();

                int replicate = 1;
                foreach (Table table in GetTables())
                {
                    string        controlName = "Rep" + replicate.ToString() + "_" + locus;
                    EvidenceLocus el          = (EvidenceLocus)table.FindControl(controlName);
                    ddlControls.Add(el.DdAllele);
                    replicate++;
                }

                foreach (DropDownList ddlControl in ddlControls)
                {
                    ddlControl.DataSource     = dtValues;
                    ddlControl.DataTextField  = "FiledName";
                    ddlControl.DataValueField = "FiledValue";
                    ddlControl.DataBind();
                }
            }
        }