0

各行にドロップダウンリストのテンプレートフィールドを持つグリッドビューがあります。すべてのドロップダウンリストはデフォルト値の「選択」に設定されています。ドロップダウンリストから任意の値を選択すると、それより下の3行目の色が変わりますが、「選択」を再選択するとオプションの色はまだ3行目にあります。必要ありません。グリッドビューのデフォルトの色である白に変更する必要があります。これは私のコードです。

protected void GridView1_SelectedIndexChanged(object sender,EventArgs e)
    {

       DropDownList ddl = (DropDownList)sender;
        GridViewRow row = (GridViewRow)ddl.NamingContainer;

        int g = row.RowIndex + 3;
        int current_row_index = row.RowIndex;
        foreach (GridViewRow gvRow in GridView1.Rows)
        {

            gvRow.BackColor = Color.White;

           if (gvRow.FindControl("dropdownid") != null && gvRow.RowIndex != current_row_index)
            {
                ((DropDownList)gvRow.FindControl("dropdownid")).SelectedIndex = 0;
            }
             }

             GridView1.Rows[g].BackColor = Color.Red;

         }
4

1 に答える 1

0

解決済み.コードに次の変更を加え、正常に動作しました。

 protected void GridView1_SelectedIndexChanged(object sender,EventArgs e)
    {

       DropDownList ddl = (DropDownList)sender;
        GridViewRow row = (GridViewRow)ddl.NamingContainer;
        int count=0;
        int g = row.RowIndex + 3;
        int current_row_index = row.RowIndex;
        foreach (GridViewRow gvRow in GridView1.Rows)
        {

            gvRow.BackColor = Color.White;
            if (((DropDownList)gvRow.FindControl("dropdownid")).SelectedIndex != 0)
            {
               // GridView1.BackColor = Color.Yellow;
                count++;

                Response.Write("null");

            }

           if (gvRow.FindControl("dropdownid") != null && gvRow.RowIndex != current_row_index)
            {
                ((DropDownList)gvRow.FindControl("dropdownid")).SelectedIndex = 0;
            }
             }



             GridView1.Rows[g].BackColor = Color.Red;
              Response.Write("count="+count);

              if (count == 0)
              {
                  foreach (GridViewRow gvRow in GridView1.Rows)
                  {
                      gvRow.BackColor = Color.White;

                  }

              }

         }
于 2012-07-31T11:35:09.073 に答える