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();

                }

            }

また、Job Id、Job Description、Job Designation、No of vacancy を別の行に表示したいと考えています。どうすればそれを達成できますか?

私を助けてください。

4

5 に答える 5

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

コントロールを使用せずにDBテーブル情報を動的に表示する

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

試してみてください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 クラスを設定することです (常に推奨される方法です)。

事前に定義できず、スタイルが異なる場合、Table は WebControl を継承するため、すべてのスタイル定義を追加できる Table.Style があります - 例: http://msdn.microsoft.com/ en-us/library/system.web.ui.cssstylecollection.aspx

上記のコードで何が起こりますか? マークアップはどのように見えますか? TD は TR の境界線のスタイル (行の境界線の色など) をオーバーライドできますが、上記の設定はしていません。

2 番目の質問: 別の行に表示するには、display:block に css を使用して、各項目が新しい行に表示されるようにします - 例: <TD> で 2 行を作成する方法

于 2013-08-07T05:26:59.747 に答える
0

スタイルについて話している場合は、CSS を使用することを強くお勧めします。対応する行を CSS クラスに含めてみてください。別の CSS ファイルで、必要に応じてそのクラスのプロパティを設定できます。

2 番目の質問については、1 つのセルで新しい行を作成し、その colspan を tblCols に設定することをお勧めします。これは次の直後に実行できます。

tbl.Rows.Add(tr);

それが役立つことを願って、

于 2013-08-07T05:10:37.893 に答える