ADI@345 Ответов: 2

Я не могу отобразить значение в gridview.


На самом деле я работаю с онлайн системой управления посещаемостью ,
но я столкнулся с небольшой проблемой.

Я извлекаю все записи из базы данных и отображаю их в gridview, но проблема заключается в том, что я пытаюсь отобразить значение count с каждой строкой gridview.

Что я уже пробовал:

<pre>void gvattendcount()
    {

        SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        foreach (GridViewRow row in GVattend.Rows)
        {
            string rollno = (((Label)row.FindControl("lblroll")).Text);
            string attendlecture = (((Label)row.FindControl("lblattend")).Text);

            string query = "SELECT COUNT(*) as attendlecture FROM class8_attend where  rollno ='" + rollno + "' AND present ='p'";

            DataTable dtAdmin = new DataTable();
            SqlDataAdapter da;
            da = new SqlDataAdapter(query, cnn);
            da.Fill(dtAdmin);

            if (dtAdmin.Rows.Count > 0)
            {
                using (SqlCommand cmd = new SqlCommand(query, cnn))
                {
                    cnn.Open();
                    Int32 count = (Int32)cmd.ExecuteScalar();
                    attendlecture = count.ToString();
                    cnn.Close();
                }

                
            }
        }
    }




CSS-
<asp:TemplateField  HeaderText="ATTENDED LECTURES" >
           <ItemTemplate>
           <center>
            <asp:Label ID="lblattend" runat="server" Text=""></asp:Label>
           </center>
           </ItemTemplate>
           </asp:TemplateField>

Graeme_Grant

Вы опубликовали тот же вопрос здесь менее часа назад: https://www.codeproject.com/Questions/1176552/How-to-count-each-record-from-database-and-display

Пожалуйста, не задавайте один и тот же вопрос повторно.

ADI@345

На самом деле я решил эту проблему. Это еще одна проблема, с которой я столкнулся прямо сейчас.

2 Ответов

Рейтинг:
2

F-ES Sitecore

string attendlecture = (((Label)row.FindControl("lblattend")).Text);

// ....

attendlecture = count.ToString();


Вы должны оценить разницу между типами "значение " и" ссылка". Когда вы загружаете значение lblAttend в attendlecture, это все, что вы делаете, эта переменная не является ссылкой на lblattent.Свойство Text-это просто его копия, поэтому при обновлении вы только перезаписываете копию. Вы должны сделать это вместо этого

Label lblattend = (Label)row.FindControl("lblattend");

// ....

lblattend.Text = count.ToString();


Рейтинг:
0

Sunasara Imdadhusen

Вы пропустили присвоение значения столбцу с помощью Связывать.

<asp:TemplateFiel>
<ItemTemplate>
        <asp:Label ID="lblattend" runat="server" Text='<%# Bind("attendlecture") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateFiel>