Сетка флажок проблема asp.net - PullRequest
       13

Сетка флажок проблема asp.net

2 голосов
/ 19 августа 2011

Я пытаюсь установить флажок в gridview,

Работа этого флажка заключается в проверке записи,

Когда нажата эта кнопка проверки, все элементы с отмеченным флажкомвведено в базу данных

Это мой код:

    protected void Button1_Click(object sender, EventArgs e)
    {

        foreach (GridViewRow row in GridView1.Rows)
        {

             CheckBox cbox = ((CheckBox)row.FindControl("Verify"));

            if (cbox.Equals(true))
            {
                String DraftsText = ((TextBox)row.FindControl("numDrafts")).Text;
                String TCtext = ((TextBox)row.FindControl("numTC")).Text;

                if (row.RowType == DataControlRowType.DataRow)
                {
                    //Header trs = new Header();
                    // GridView1.Rows[0].FindControl("numTC");
                    if (TCtext != "" && DraftsText != "")
                    {

                        //  try
                        //  {
                        string date = row.Cells[4].Text;

                        DateTime dateTime = Convert.ToDateTime(date);
                        string dateFormatted = dateTime.ToString("d-MMM-yy");

                        string unit = row.Cells[5].Text;
                        string currency = row.Cells[6].Text;
                        string totalFC = row.Cells[7].Text;
                        string totalDC = row.Cells[8].Text;
                        int d = Convert.ToInt32(DraftsText);
                        int tc = Convert.ToInt32(TCtext);


                        hdr = new Header(d, tc, dateFormatted, unit, currency, totalFC, totalDC);
                        hdr.InsertFCTC(hdr);
                    }

                }

            }
        }
    }

Возможно, я поступаю неправильно, но в if (cbox.Equals (true)) это дает мне исключение: Ссылка на объект не установлена ​​для экземпляра объекта.

Любая идея, что я могу сделать, чтобы решить эту проблему?

Большое спасибо

Ответы [ 3 ]

1 голос
/ 19 августа 2011

Вы получаете исключение NullPointerException, поскольку предложенный флажок не найден!Или прямое приведение к экземпляру типа CheckBox не работает должным образом.

1 голос
/ 19 августа 2011

Измените свой код на что-то вроде этого и повторите попытку:

CheckBox cbox = ((CheckBox)row.FindControl("Verify"));

            if (cbox != null && cbox.Checked)
            {
....
}
1 голос
/ 19 августа 2011

Это if (cbox.Equals(true)) должно быть if (cbox.Checked)

Поскольку ваш cbox is a checkbox object не может использоваться для сравнения, вам необходимо использовать свойство cbox Checked, которое вернет true/false

...