2

我需要将边框颜色和边框样式设置为动态创建的表格行。我怎样才能做到这一点?

if (cmd.Connection.State == ConnectionState.Closed)
                cmd.Connection.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())

            {

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {

                        JobDesignation = reader.GetString(0);
                        JobDescription = reader.GetString(1);
                        NoOfVacancies = Convert.ToString(reader.GetInt32(2));
                        DatePosted = Convert.ToString(reader.GetDateTime(3)).Replace("00:00:00", "");
                        jobId = reader.GetString(4);
                        int tblRows = 1;
                        int tblCols = 1;

                        Table tbl = new Table();
                        PlaceHolder1.Controls.Add(tbl);
                        for (int i = 0; i < tblRows; i++)
                        {
                            TableRow tr = new TableRow();

                            for (int j = 0; j < tblCols; j++)
                            {
                                TableCell tc = new TableCell();
                               System.Web.UI.WebControls.Label lblBox = new System.Web.UI.WebControls.Label();
                               lblBox .Text = "Job ID:" + jobId + Environment.NewLine + "Job Designation:" + JobDesignation + Environment.NewLine + "Job Description:" + JobDescription + Environment.NewLine + "Vacancies:" + NoOfVacancies + Environment.NewLine + "Ad Posted On:" + DatePosted + "";
                               tc.Controls.Add(lblBox);
                               tr.Cells.Add(tc);
                            }

                            tr.Width = new Unit("700px");
                            tr.Height = new Unit("200px");
                            tr.BorderColor = System.Drawing.Color.Black;
                            tr.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
                            tbl.Rows.Add(tr);

                        }
                        ViewState["dynamictable"] = true; 
                      } reader.NextResult();

                }

            }

我还想在单独的行中显示职位 ID、职位描述、职位名称、职位空缺数。我怎样才能做到这一点?

请帮我。

4

5 回答 5

1

动态显示数据库表信息,不使用任何控件

http://www.dotnetfunda.com/Blogs/Venkyshwe8%40gmail.com/1264/displaying-a-table-information-dynamically-without-using-any-controls

在 ASP.NET 中动态创建表

http://www.dotnetcurry.com/ShowArticle.aspx?ID=135&AspxAutoDetectCookieSupport=1

于 2013-08-07T05:04:18.750 回答
1

您可以动态设置属性,如下所示:

    TableRow row1 = new TableRow();
    row1.CssClass = "rowStyle1";

    TableCell cell1 = new TableCell();
    cell1.CssClass = "cellStyle1";


//create css class as below in your css file :

.rowStyle{
    border:1px solid red;
}
.cellStyle1{
    background-color:blue;
}
于 2013-08-07T05:09:53.437 回答
1

尝试LiteralControl

for (int j = 0; j < tblCols; j++)
{
   TableCell tc = new TableCell();
   tc.Controls.Add(new LiteralControl("Job ID:" + jobId + "<br>" + "Job Designation:" + JobDesignation + "<br>" + "Job Description:" + JobDescription + "<br>" + "Vacancies:" + NoOfVacancies + "<br>" + "Ad Posted On:" + DatePosted + ""));
   tr.Cells.Add(tc);
}
于 2013-08-07T05:10:10.970 回答
0

好吧,如果您在谈论样式,我强烈建议您使用 CSS。请尝试在 CSS 类中包含相应的行。在单独的 CSS 文件中,您可以根据需要设置该类的属性。

关于您的第二个问题,我建议您使用一个单元格创建一个新行并将其 colspan 设置为 tblCols。您可以在以下情况下立即执行此操作:

tbl.Rows.Add(tr);

希望有帮助,

于 2013-08-07T05:10:37.893 回答
0

由于这是动态的,我将假设在 css 类中使用定义样式的典型建议不会在这里完成工作 - 否则简单的解决方案是设置你的 css 类(总是推荐的方法)

如果它们无法预定义并且样式可能有所不同,则 Table 继承 WebControl,因此您可以拥有 Table.Style ,您可以将所有样式定义添加到 - 例如:http: //msdn.microsoft.com/ en-us/library/system.web.ui.cssstylecollection.aspx

上面的代码会发生什么?你的标记是什么样的?TD 可以覆盖 TR 边框样式(例如行边框颜色),但您没有在上面设置任何内容。

对于您的第二个问题:要在单独的行上显示,请使用 css for display:block 以便每个项目将显示在新行上 - 例如:如何在 <TD> 中制作 2 行

于 2013-08-07T05:26:59.747 回答