как сортировать в gridview используя поля шаблона - PullRequest
0 голосов
/ 15 декабря 2009

Сортировка работает нормально, когда вы заполняете представление сетки с использованием источника данных SQL на странице aspx ...

но сейчас я использую поле шаблона, столбцы заполняются отдельно в коде, и сортировка не работает ...

мой код

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
                          AutoGenerateColumns="False" 
                           ondatabound="GridView1_DataBound" 
                        onrowdatabound="GridView1_RowDataBound">


               <Columns>
               <asp:TemplateField HeaderText="File Name" ItemStyle-Width="40%"  >
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="server"></asp:Label>
                                </ItemTemplate>
                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                            </asp:TemplateField>

                            <asp:TemplateField HeaderText="Failure Count" ItemStyle-Width="10%" >
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label3" runat="server"></asp:Label>
                                </ItemTemplate>
                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"  />
                            </asp:TemplateField>
               </Columns></GridView>

и мой код:

    DataTable dt = new DataTable();
        SqlConnection connection = new SqlConnection();
        connection.ConnectionString = ConfigurationManager.ConnectionStrings["SumooHAgentDBConnectionString"].ConnectionString;
        connection.Open();
        SqlCommand sqlCmd = new SqlCommand("SELECT  FileName,FailureCount from Files where MachineID=@strID , connection);
        SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
        sqlCmd.Parameters.AddWithValue("strID", strID);

        sqlDa.Fill(dt);

        if (dt.Rows.Count > 0)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string nameoffiles = dt.Rows[i]["FileName"].ToString();
                buFailureCode.Add(code);
                string count = dt.Rows[i]["BuFailureCount"].ToString();
                buFailureCount.Add(count);
            }

        }
        connection.Close();
    }


 protected void GridView1_DataBound(object sender, EventArgs e)
    {
        if (namesOfFiles.Count != 0)
        {
            for (int i = 0; i < namesOfFiles.Count; i++)
            {
                GridViewRow myRow = GridView1.Rows[i];
                Label Label1 = (Label)myRow.FindControl("Label1");

                Label Label3 = (Label)myRow.FindControl("Label3");
                Label1.Text = namesOfFiles[i].ToString();

                Label3.Text = buFailureCount[i].ToString();

            }}}

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

set SortExpression

0 голосов
/ 15 декабря 2009

Я думаю, вам придется обработать событие OnSorting и выполнить фактическую сортировку самостоятельно в коде. В документации API есть пример .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...