How to keep the selected value in the DropDownList to be shown all the time?
<p>I am developing a simple intranet suggestion box system that lets the employees being able to submit their ideas through it. Now, for the System Admin, I list all the submitted suggestions with showing the employee name, username, division, suggestion title, suggestion description with adding one column that shows the status. For the Status column, it will show a DropDownList that contains the possible options such as Accepted, Rejected ...etc</p>

<p>Here I have the following problem; when the admin selects one of status, it will be changed but after refreshing the page, the DropDownList will show the Select option again. What I want is to keep showing the Selected Value all the time instead of Select option.</p>

<p>My ASP.NET:</p>

<pre><code>&lt;asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                        AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" 
                        width="950px" CssClass="mGrid"
                        AlternatingRowStyle-CssClass="alt" 
                        RowStyle-HorizontalAlign="Center" 
                        DataSourceID="SqlDataSource1" 
                        OnRowDataBound="GridView1_RowDataBound" &gt;
            &lt;AlternatingRowStyle BackColor="White" ForeColor="#284775" /&gt;
            &lt;HeaderStyle Font-Bold = "true" ForeColor="Black" Height="20px"/&gt; 
            &lt;Columns&gt;
                &lt;asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
                    ReadOnly="True" SortExpression="ID" /&gt;
                &lt;asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /&gt;
                &lt;asp:BoundField DataField="Description" HeaderText="Description" 
                    SortExpression="Description" /&gt;
                &lt;asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /&gt;
                &lt;asp:BoundField DataField="Username" HeaderText="Username" 
                    SortExpression="Username" /&gt;
                &lt;asp:BoundField DataField="DivisionShortcut" HeaderText="Division" 
                    SortExpression="DivisionShortcut" /&gt;
                &lt;asp:TemplateField HeaderText="Status"&gt;
                    &lt;ItemTemplate&gt;
                        &lt;asp:DropDownList ID="DropDownList" runat="server" DataSourceID="SqlDataSource2"
                                          Font-Bold="True" ForeColor="#006666" AppendDataBoundItems="false" 
                                          DataTextField="Status" DataValueField="ID" AutoPostBack="true" 
                                          OnDataBound="DropDownList_DataBound" OnSelectedIndexChanged ="DropDownList_SelectedIndexChanged"&gt;
                        &lt;/asp:DropDownList&gt;
                    &lt;/ItemTemplate&gt;
                &lt;/asp:TemplateField&gt;
            &lt;/Columns&gt;
        &lt;/asp:GridView&gt;
        &lt;asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="&lt;%$ ConnectionStrings:testConnectionString %&gt;" 
            SelectCommand="SELECT     dbo.SafetySuggestionsLog.ID, dbo.SafetySuggestionsLog.Title, dbo.SafetySuggestionsLog.Description, dbo.employee.Name, dbo.SafetySuggestionsLog.Username, 
                      dbo.Divisions.DivisionShortcut
FROM         dbo.employee INNER JOIN
                      dbo.SafetySuggestionsLog ON dbo.employee.Username = dbo.SafetySuggestionsLog.Username INNER JOIN
                      dbo.Divisions ON dbo.employee.DivisionCode = dbo.Divisions.SapCode"
                      FilterExpression="[DivisionShortcut] like '{0}%'"&gt;

                      &lt;FilterParameters&gt;
                        &lt;asp:ControlParameter ControlID="ddlDivision" Name="DivisionShortcut" 
                                                 PropertyName="SelectedValue" Type="String" /&gt;
                    &lt;/FilterParameters&gt;
        &lt;/asp:SqlDataSource&gt;

        &lt;%--For the DropDownList--%&gt;
        &lt;asp:SqlDataSource ID="SqlDataSource2" runat="server"
                            ConnectionString="&lt;%$ ConnectionStrings:testConnectionString %&gt;" 
                            SelectCommand="SELECT * FROM [SafetySuggestionsStatus]"&gt;
        &lt;/asp:SqlDataSource&gt;
</code></pre>

<p><em><strong>UPDATE:</em></strong></p>

<p>My Code-Behind:</p>

<pre><code>protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[0].Text = i.ToString();
            i++;

            DataTable dt = new DataTable();
            DropDownList ddStatus = (DropDownList)e.Row.Cells[6].FindControl("DropDownList");
            ddStatus.DataTextField = "Status";
            ddStatus.DataValueField = "ID";
            ddStatus.DataSource = dt;//this datatable should be filled with all the possible values for the status
            ddStatus.DataBind();

        }
    }

    DataTable GetStatusTable()
    {
        SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM [SafetySuggestionsStatus]", "Data Source=localhost\\sqlexpress;Initial Catalog=psspdbTest;Integrated Security=True");
        DataTable dt = new DataTable();
        da.Fill(dt);
        return dt;
    }


    protected void DropDownList_DataBound(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ((DropDownList)sender).Items.Insert(0, new ListItem("--Select--", ""));
        }
    }

    protected void DropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddl = (DropDownList)sender;
        int suggestionStatus = int.Parse(ddl.SelectedValue);
        GridViewRow row = (GridViewRow)ddl.NamingContainer;
        string strID = GridView1.DataKeys[row.RowIndex]["ID"].ToString();
        int ID = Int32.Parse(strID);
        //For inserting the status in the database
        string connString = "Data Source=localhost\\sqlexpress;Initial Catalog=psspdbTest;Integrated Security=True";
        string updateCommand = "UPDATE SafetySuggestionsLog  SET [StatusID] = @StatusID WHERE [ID] = @ID";
        using (SqlConnection conn = new SqlConnection(connString))
        {
            conn.Open();
            using (SqlCommand cmd = new SqlCommand(updateCommand, conn))
            {
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@StatusID", suggestionStatus);
                cmd.Parameters.AddWithValue("@ID", ID);
                cmd.ExecuteNonQuery();
            }
            conn.Close();
        }

    }
</code></pre>

<p>**So how to fix this problem to let the status of the submitted suggestion be shown all the time?</p>
