我試圖找到一個行,然後從數據表中刪除該行。我不斷收到nIndex = -1。任何人都有建議?數據表Rows.IndexOf()
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 2009-09-29 15:25:12