从转发器中的数据表中删除特定行

时间:2012-09-04 07:31:05

标签: datatable repeater

我有一个转发器,每行都有一个按钮,按钮会将一些数据记录添加到数据表中,所以如果我在每一行中单击该按钮,它将向数据表中添加更多记录。我在每一行都有一个删除按钮,应该删除从同一个转发器行添加的记录,因此只应删除从该行添加的记录。我的代码工作正常,但它正在删除数据表中的所有记录。如何删除从特定行添加的特定记录?

我的代码:

for (int i = GRX.Rows.Count - 1; i >= 0; i--)
                {
                    DataRow dr = GRX.Rows[i];

                    if (lbl4.Text == "2" || lbl4.Text == "4")
                    {
                        dr.Delete();
                    }
                } 

2 个答案:

答案 0 :(得分:0)

DataRow dr = GRX.Rows[i];可能会选择一些您不想删除的值。

尝试将()添加到if条件中的条件。

另外,检查是否正在将正确的参数传递给正在删除该行的SQL查询。您可能缺少WHERE id = xx子句。

答案 1 :(得分:0)

我在转发器中有一个序列号,所以我在添加到数据表的每条记录中添加了序列,并将其添加到if语句中。

更改的代码是:

for (int i = GRX.Rows.Count - 1; i >= 0; i--)
                {
                    DataRow dr = GRX.Rows[i];


                    string seq = lbl7.Text;
                    string GRXseq = dr[5].ToString();
                    string GRXseat = dr[4].ToString();

                    if (GRXseat == "R" && lbl4.Text == "2" && GRXseq == seq || GRXseat == "R" && lbl4.Text == "4" && GRXseq == seq)
                    {
                        dr.Delete();


                    }
                }
相关问题