私は、ASP.NetとC#を使用して開発したWebサイトをActive Directoryから入力し、そのサイトのHTMLテーブルにデータを出力します。コードは次のようになります。C#htmlテーブルソート
void SetupResults(SearchDataItems items)
{
HtmlTable t = new HtmlTable();
HtmlTableRow r = new HtmlTableRow();
HtmlTableCell c = new HtmlTableCell();
c.VAlign = "center";
c.Align = "middle";
c.Width = "200px";
c.InnerHtml = "User";
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "center";
c.Align = "middle";
c.Width = "180px";
c.InnerHtml = "UserId";
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "center";
c.Align = "middle";
c.Width = "800px";
c.InnerHtml = "Location";
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "center";
c.Align = "middle";
c.Width = "280px";
c.InnerHtml = "Date Created";
r.Cells.Add(c);
c = new HtmlTableCell();
r.Cells.Add(c);
r.Style.Add("background-color", "SteelBlue");
r.Style.Add("color", "white");
r.Style.Add("font-size", "medium");
tblItems.Rows.Add(r);
for (int i = 0; i < items.ListItem.Count; i++)
{
r = new HtmlTableRow();
if (i % 2 == 1)
r.BgColor = "#A9D0F5";
c = new HtmlTableCell();
LinkButton lnk = null;
c.VAlign = "Top";
c.Align = "Left";
c.Width = "200px";
c.InnerHtml = items.ListItem[i].Name;
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "Top";
c.Align = "Left";
c.Width = "180px";
c.InnerHtml = items.ListItem[i].UserID;
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "Top";
c.Align = "Left";
c.Width = "800px";
c.InnerHtml = StripOUGarbage(items.ListItem[i].OU);
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "Top";
c.Align = "Left";
c.Width = "280px";
c.InnerHtml = items.ListItem[i].AccountCreateDate.ToString();
r.Cells.Add(c);
c = new HtmlTableCell();
c.VAlign = "Top";
c.Align = "Left";
lnk = new LinkButton();
lnk.Text = "Edit";
lnk.ToolTip = "Edit " + items.ListItem[i].Name;
lnk.ID = i.ToString() + "_" + items.ListItem[i].Name;
lnk.Click += lnk_Click;
lnk.OnClientClick = "ShowProgress();";
c.Controls.Add(lnk);
r.Cells.Add(c);
tblItems.Rows.Add(r);
}
//if (items.ListItem.Count > 0)
//{
// divTable.Controls.Add(t);
//}
}
実行して情報を返しますが、ソートはオフです。ほとんどの場合、ユーザー作成日付によって返されます(しかし、そこにもいくつかの矛盾があります)。私はそれをユーザー名でアルファベット順に返すことを好みますが、これらの列を自動的に並べ替える方法や、列ヘッダーをクリックして並べ替える方法もあります。
すべての入力をいただければ幸いです。ありがとう
この質問には多すぎる回答があります。テーブルを作成する前にデータを並べ替えるのか、実際に並べ替えるためにヘッダーをクリックできるテーブルが必要なのでしょうか? –
データを取得するクエリの一部として結果を並べ替える理由はありますか? –