//generarea tabelului
void makeTable()
{
int i, n;
try
{
int hRow, wRow;
decimal variabila, wtbl, y;
//se extrag din baza de date dimensiunile panoului in functie de panoul selectat
int ecranW = int.Parse(panou.GetWith
(int.Parse(ddlDenumirePanou.SelectedValue.ToString())));
int ecranL = int.Parse(panou.GetLength
(int.Parse(ddlDenumirePanou.SelectedValue.ToString())));
//latimea si inaltimea panoului dorite de client
int latime = int.Parse(txtWidthPanou.Text);
int inaltime = int.Parse(txtLengthPanou.Text);
//se afla numarul de coloane si randuri
int panouriColNumbers, panouriRowNumber;
panouriColNumbers = (latime * 1000) / ecranW;
panouriRowNumber = (inaltime * 1000) / ecranL;
for (i = 0; i < panouriRowNumber; i++)
{
TableRow tr = new TableRow();
for (n = 0; n < panouriColNumbers; n++)
{
TableCell tc = new TableCell();
//am considerat o inaltime a tabelului standard de 400 px
int x = int.Parse(Convert.ToDecimal(400 / (panouriRowNumber)).ToString());
hRow = x;
//se afla dimensiunile in px, adica se inmulteste cu 0.0874 si apoi se
// afla proportia de scalare a imaginii
variabila = Convert.ToDecimal((ecranL*0.0847) /hRow) ;
wtbl = Convert.ToDecimal((Convert.ToDouble(ecranW) * 0.0847))/variabila ;
y = Convert.ToDecimal(148.2)/variabila ;
imgOm.Attributes.Add("height", (y.ToString()));
imgOm.Visible = true;
tc.Attributes.Add("Height", hRow.ToString());
tc.Attributes.Add("Width", decimal.Round(wtbl, 0).ToString());
tc.Attributes.Add("style", "border-right: #0033ff 1pt solid;
border-top: #0033ff 1pt solid; border-left: #0033ff 1pt solid;
border-bottom: #0033ff 1pt solid");
Label lbl = new Label();
//se introduce un spatiu cu inaltimea textului de 1 px pentru ca, in caz contrar, inaltimea default
// este de 12px si asta deformeaza proportiile atunci cand sunt foarte multe randuri
lbl.Text = " ";
lbl.Attributes.Add("style", "font-size:1px");
tc.Controls.Add(lbl);
tr.Cells.Add(tc);
int rr = ecranW * panouriColNumbers;
lblDimensiuniH.Text = rr.ToString() + " mm x ";
}
Table1.Rows.Add(tr);
int dd = ecranL * panouriRowNumber;
lblDimensiuniW.Text = dd.ToString() + " mm";
}
lblCount.Text = Table1.Rows[0].Cells.Count.ToString() + " x ";
lblCount.Text += Table1.Rows.Count.ToString();
lblCount.Visible = true;
lblDimensiuniH.Visible = true;
lblDimensiuniW.Visible = true;
lblDimensiuniTotale.Visible = true;
lblCountCells.Visible = true;
}
catch (Exception ex)
{
}
}
//butonul de configurare
protected void btnConfigureaza_Click(object sender, EventArgs e)
{
makeTable();
lblComentarii.Visible = true;
}
|