행을 찾고 해당 행을 데이터 테이블에서 삭제하려고합니다. 계속해서 nIndex = -1이됩니다. 누구나 제안 사항이 있습니까? 새 DataRow를DataTable Rows.IndexOf()
dr = dt.NewRow();
을 만들 수 있기 때문에
protected void cbxSelected_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkbox = (CheckBox)sender;
GridViewRow row = (GridViewRow)checkbox.NamingContainer;
string sSampleId = row.Cells[1].Text;
if (!string.IsNullOrEmpty(sSampleId))
{
DataTable dt;
if (ViewState["dtTemp"] != null)
{
dt = (DataTable)ViewState["dtTemp"];
}
else
{
dt = new DataTable();
dt.Columns.Add("sample_id");
}
DataRow dr;
string[] drow = new string[] { sSampleId };
dr = dt.NewRow();
dr.ItemArray = drow;
if (checkbox.Checked == true)
{
dt.Rows.Add(dr);
}
else if (checkbox.Checked == false)
{
int nIndex = dt.Rows.IndexOf(dr);
dt.Rows.RemoveAt(nIndex);
}
ViewState.Add("dtTemp", dt);
}
}
나는 데이터 테이블에서 그 행을 찾을 수있을 것이라고 생각했다. VB에서이 일을 기억하지만, C#은 좀 더 인색 한 것처럼 보입니다. 나는 테이블을 반복하면서 찾은 행을 지우라고 제안했다. 의견을 보내 주셔서 감사합니다. – Kris