62,243
社区成员




- private void generateForm()
- {
- //get all row description from table
- SqlConnection sqlconn = AllStoredProcedures.sqlconnSmartReportApp();
- DataSet formDesription = AllStoredProcedures.ExecuteQuery("sp_GetPLForm","isLoad", SqlDbType.Int,1,"1",sqlconn.ConnectionString);
- string tbArray = "['txt1','2','1'],['txt4','1','4'],['txt5','1','5'],";
- string lblPArray = "['LblpLessCostSales','1'],['LblpGrossMargin','2'],['LblpLabour','4'],['LblpOccCosts','5'],";
- string lblCArray = "['LblcGrossMargin','2'],";
- //Build the form
- ContentPlaceHolder box = Master.FindControl("ContentPlaceHolder1") as ContentPlaceHolder;
- //Build the rows
- for (int i = 0; i < formDesription.Tables[0].Rows.Count; i++)
- {
- Label lbl = new Label();
- TextBox txt = new TextBox();
- Label calField = new Label();
- Label calPercentage = new Label();
- HtmlTableCell txtCell = new HtmlTableCell();
- HtmlTableCell lblCell = new HtmlTableCell();
- HtmlTableCell calcuCell = new HtmlTableCell();
- HtmlTableCell percentCell = new HtmlTableCell();
- HtmlTableRow row = new HtmlTableRow();
- //RequiredFieldValidator reqValid=new RequiredFieldValidator();
- RegularExpressionValidator expValid = new RegularExpressionValidator();
- string description = formDesription.Tables[0].Rows[i].ItemArray[1].ToString();
- int iscalculate = Int32.Parse(formDesription.Tables[0].Rows[i].ItemArray[2].ToString());
- int descriptionID = Int32.Parse(formDesription.Tables[0].Rows[i].ItemArray[0].ToString());
- string direct = formDesription.Tables[0].Rows[i].ItemArray[4].ToString();
- string id = formDesription.Tables[0].Rows[i].ItemArray[3].ToString();
- if (id == "") { id = "null"; }
- switch (iscalculate)
- {
- //show the row contain input field and calculate field
- case (0):
- {
- //add label to description
- lbl.Text = description;
- lbl.ID = "lbl" + id;
- lblCell.Controls.Add(lbl);
- //add textbox for input data
- txt.ID = "txt" + descriptionID.ToString();
- txt.Attributes.Add("onblur", "doCal();");
- txtCell.Controls.Add(txt);
- expValid.ErrorMessage = "Number Only!";
- expValid.ControlToValidate = txt.ID;
- expValid.ValidationExpression = "^([.]|[0-9])*[.]*[0-9]+$";
- txtCell.Controls.Add(expValid);
- //add id to javascript array string
- tbArray += "['" + txt.ID + "','" + direct + "','" + descriptionID + "'],";
- //add label to show percentage calculate field
- //calcuCell.Controls.Add(calField);
- calPercentage.ID = "LblP" + id;
- //calPercentage.Text =
- lblPArray += "['" + calPercentage.ID + "','" + descriptionID + "'],";
- percentCell.Controls.Add(calPercentage);
- row.Cells.Add(lblCell);
- row.Cells.Add(txtCell);
- row.Cells.Add(percentCell);
- main.Rows.Add(row);
- break;
- }
- //show the row only contain calculate field
- case (1):
- {
- //add label to description
- lbl.Text = description;
- lbl.ID = "lbl" + id;
- lblCell.Controls.Add(lbl);
- //add label to show calculate field
- calField.ID = "LblC" + id;
- calcuCell.Controls.Add(calField);
- lblCArray += "['" + calField.ID + "','" + descriptionID + "'],";
- calPercentage.ID = "lblP" + id;
- percentCell.Controls.Add(calPercentage);
- lblPArray += "['" + calPercentage.ID + "','" + descriptionID + "'],";
- //add cells into row
- row.Cells.Add(lblCell);
- row.Cells.Add(calcuCell);
- row.Cells.Add(percentCell);
- main.Rows.Add(row);
- break;
- }
- //show the row only conatin text
- case (2):
- {
- lbl.Text = description;
- lbl.ID = "lbl" + id;
- lblCell.Controls.Add(lbl);
- row.Cells.Add(lblCell);
- main.Rows.Add(row);
- break;
- }
- }
- }//make javascript array
- tbArray += "[0,'','']";
- lblCArray += "[0,'']";
- lblPArray += "[0,'']";
- Page.ClientScript.RegisterStartupScript(this.GetType(), "", " var tbarr = [" + tbArray + "];var lblCarr = [" + lblCArray + "];var lblParr = [" + lblPArray + "]", true);
- }