簡體   English   中英

獲取數據表中每行的特定列

[英]Get specific column foreach row in DataTable

如何從DataTable的每一行中獲取特定的列。 在此示例中,我想獲取頭三則新聞,並且Image出現問題。 該代碼始終提供第一行的圖像,因為我定義了dr.Rows [0] [“ Image”]。 我如何更改此設置以獲得每行正確的圖像?

SqlCommand cmd = new SqlCommand("SELECT TOP 3 Title, Content, Date, Autor, Category, Image FROM News", con);
    con.Open();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(dt);

    foreach (DataRow row in dt.Rows)
    {
        Panel panel = new Panel();
        panel.Attributes.Add("class", "post");

        HtmlGenericControl header = new HtmlGenericControl("h2");
        header.InnerHtml = row["Title"].ToString();
        header.Attributes.Add("class", "naslovPosta");
        panel.Controls.Add(header);

        HtmlGenericControl date = new HtmlGenericControl("p");
        date.InnerHtml = ((DateTime)row["Date"]).ToString("dd.MM.yyyy.");
        date.Attributes.Add("class", "datumPosta");
        panel.Controls.Add(date);

        Image img1 = new Image();
        img1.ImageUrl = ResolveUrl("~/Images/" + dt.Rows[0]["Image"]);
        panel.Controls.Add(img1);

        HtmlGenericControl content = new HtmlGenericControl("pre");
        content.InnerHtml = row["Content"].ToString();
        panel.Controls.Add(content);

        pnlNews.Controls.Add(panel);
    }

你已經列舉的所有行,您會發現在當前行row -variable,所以更換:

img1.ImageUrl = ResolveUrl("~/Images/" + dt.Rows[0]["Image"]);

img1.ImageUrl = ResolveUrl("~/Images/" + row["Image"]);

就像您在row["Title"].ToString();已經做過一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM