如何将css属性设置为动态创建的表?

时间:2011-06-14 13:22:50

标签: c# asp.net css

void GenerateSurvey(string AnketId, System.Web.UI.WebControls.PlaceHolder plch)
{
    var db = new Xrm.XrmDataContext(Microsoft.Xrm.Client.CrmConnection.Parse(Utils.getXrmConnectionString(_PortalBrandHelper.BrandProxy.BrandDedicatedCrmOrgName)));

    var AnketSoru = from p in db.new_survey_questions
                    orderby p.new_rank
                    select new { p.new_survey_questionid, p.new_question_text, p.new_question_type, p.new_rank, p.new_min_enumerator, p.new_max_enumerator };


    HtmlTable tbl = new HtmlTable();
    tbl.CellPadding = 2;
    tbl.CellSpacing = 3;

    HtmlTableRow r = new HtmlTableRow();
    HtmlTableCell c = new HtmlTableCell();
    c.InnerHtml = "<h3>İMMİB</h3>";
    c.ColSpan = 2;
    c.Align = "center";
    r.Cells.Add(c);
    tbl.Border = 1;

    tbl.ID = "Survey_Inner";
    tbl.Rows.Add(r);
    c = new HtmlTableCell();
    r = new HtmlTableRow();
    c.ColSpan = 2;
    c.InnerHtml = "<h4>EĞİTİM DEĞERLENDİRME FORMU</h4>";
    c.Align = "center";
    r.Cells.Add(c);
    tbl.Rows.Add(r);
    foreach (var item in AnketSoru)
    {
         r = new HtmlTableRow();
         c = new HtmlTableCell();
        c.InnerHtml = item.new_question_text.ToString();
        r.Cells.Add(c);

        switch (item.new_question_type.ToString())
        {
            case "2": //FreeText
                c = new HtmlTableCell();
                TxtFreeText = new TextBox();
                TxtFreeText.ID = "Txt_" + item.new_survey_questionid.ToString();
                TxtFreeText.TextMode = TextBoxMode.MultiLine;
                TxtFreeText.Width = 300;
                TxtFreeText.Height = 50;
                TxtFreeText.EnableViewState = true;
                c.Controls.Add(TxtFreeText);
                break;

            case "3": //CheckBox
                c.ColSpan = 2;

                var choises = from c1 in db.new_survey_question_choices
                              where c1.new_survey_questionid == item.new_survey_questionid
                              select c1;

                ChkSecimler = new CheckBoxList();
                ChkSecimler.ID = "Chkl_" + item.new_survey_questionid.ToString();
                ChkSecimler.RepeatDirection = RepeatDirection.Horizontal;
                ChkSecimler.RepeatColumns = 2;
                foreach (var ck in choises)
                {
                    LiSecim = new ListItem();
                    LiSecim.Text = ck.new_name;
                    ChkSecimler.Items.Add(LiSecim);
                }

                c.Controls.Add(ChkSecimler);
                break;

            case "4": //Enumeration ***RadioButton***
                c = new HtmlTableCell();
                RdSecimler = new RadioButtonList();
                RdSecimler.ID = "Rdl_" + item.new_survey_questionid.ToString();
                RdSecimler.RepeatDirection = RepeatDirection.Horizontal;
                c.Align = "center";


                for (int i = Convert.ToInt32(item.new_min_enumerator); i <= Convert.ToInt32(item.new_max_enumerator); i++)
                {
                    LiSecim = new ListItem();
                    LiSecim.Text = i.ToString();
                    RdSecimler.Items.Add(LiSecim);

                }
                c.Controls.Add(RdSecimler);
                break;

            default:
                break;

        }

        r.Cells.Add(c);

        tbl.Rows.Add(r);

    }

    plch.Controls.Add(tbl);

}

我想让那个无线电按钮适合那个没有居中但无法做到的小区,我怎么能帮忙呢?

Screenshot

3 个答案:

答案 0 :(得分:2)

只需添加属性

HtmlTable tbl = new HtmlTable();
tbl.Attributes.Add("class","ClassName");

答案 1 :(得分:0)

删除c.Align = "center";并将这些单选按钮放在表格中,一行和n个单元格width=100%以使其适合父单元格

答案 2 :(得分:0)

是否可以在特定div中创建它? 然后,您可以基于该div的所有类。 所以我们可以说桌子出现在里面:

<div id="new-table"></div>

您可以像这样执行css定义:

#new-table table{   }
#new-table tr{   }
#new-table td{text-align:left;}

你有办法用单选按钮给div一个独特的类吗?