2011-06-14 58 views
0
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); 

} 

我想讓單選按鈕適合那個單元不居中但不能做到這一點,我該如何做到這一點?如何將css屬性設置爲動態創建的表格?

Screenshot

回答

2

只需添加屬性

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

刪除c.Align = "center";並把裏面的表中的這些單選按鈕與一個列N細胞width=100%,以適應它的親本細胞

0

是否有可能有創建一個特定的div內? 然後,您可以將該分區上的所有類都基於該分區。 因此,可以說在表內出現:

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

你可以做你的CSS的定義是這樣的:

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

你有給人一種獨特的類,以用於單選按鈕股利的方式?

相關問題