テーブルを改善する必要がある
C# を使用して、このテーブルに行を追加します。
foreach (var item in items)
{
TableRow row = new TableRow();
TableCell cell = new TableCell();
LinkButton lb2 = new LinkButton();
CheckBox chk = new CheckBox();
chk.CssClass = "chkBox";
lb2.CommandArgument = item.id.ToString();
lb2.Text = item.cat_name;
lb2.ID = "lb" + item.id.ToString();
lb2.Click += new EventHandler(lb_Click);
Label lbl = new Label();
lbl.Text = " ";
LinkButton lb3 = new LinkButton();
lb3.CommandArgument = item.id.ToString();
lb3.ID = "lb3" + item.id.ToString();
lb3.Text = "Edit/Delete";
lb3.Click += new EventHandler(lb2_Click);
cell.Controls.Add(chk);
cell.Controls.Add(lb2);
cell.Controls.Add(lbl);
cell.Controls.Add(lb3);
row.Cells.Add(cell);
tblitems.Rows.Add(row);
}
ここで、テーブルでどのチェックボックスがチェックされているかを可能にする別のメソッドを記述する必要があります。チェックした行を削除できるようにします。
これは私が持っているものです。
protected void DeleteAll_Click(object sender, EventArgs e)
{
var mytable = (Table)FindControl("tblitems");
foreach (TableRow row in mytable)
{
var myChkBox = (CheckBox)mytable.FindControl("chkBox");
var myhiddenfield = (HiddenField)mytable.FindControl("hiddenID");
if (myChkBox.Checked)
{
//Delete record
Response.Write("Record" + myhiddenfield.Value + "Has been deleted");
}
}
}
エラーが発生する
foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.Table' because 'System.Web.UI.WebControls.Table' does not contain a public definition for 'GetEnumerator'