0

VB.netでネット。列 dgv テーブルを並べ替えたかったのですが、コードが機能しません。

クライアント側はこんな感じ

 <asp:GridView ID="griddata" runat="server"  AutoGenerateColumns="false" AllowSorting="True" >
                <Columns >
                <asp:TemplateField>
                        <ItemTemplate>
                            <asp:CheckBox ID="chkStatus" runat="server"  />
                            <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# eval("ID") %>' />
                        </ItemTemplate>                   
                </asp:TemplateField>

                <asp:BoundField DataField="First_Name" HeaderText="First Name" SortExpression="First_Name"/>
                <asp:BoundField DataField="Last_Name" HeaderText="Last Name" SortExpression="Last_Name" />
                <asp:BoundField DataField="Address" HeaderText="Address" />
                <asp:BoundField DataField="Phone" HeaderText="Phone" />
            </Columns>        
        </asp:GridView>

サーバーサイドはこんな感じ

Imports System.Data.SqlClient
Imports System.Configuration
Imports System.IO

Partial Public Class Course
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        listhendle()

    End Sub

    Protected Sub listhendle()
        Dim ds As New DataSet
        Dim cls As New connections

        ds = cls.returndataset("select * from [m.student] ")

        GridView1.DataSource = ds
        GridView1.DataBind()

    End Sub


End Class

ここから参照を得て、データ接続を変更しました

4

2 に答える 2

0

aspxの場合:alloworting=trueを設定します

C#で:

protected void gridView_Sorting(object sender, GridViewSortEventArgs e)
    {
        DataTable dataTable = gvEmployeeList .DataSource as DataTable;
        DataTable dtEmplist = new DataTable();
        dtEmplist = iz.getEmployeeList();
        if (dtEmplist.Rows.Count > 0 )
        {
            DataView dataView = new DataView(dtEmplist);
            dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);

            gvEmployeeList.DataSource = dataView;
            gvEmployeeList.DataBind();
        }
    }
于 2012-07-23T10:37:21.280 に答える
0

コードビハインドなし

1つのことを行うことができます....データベース接続@codebehindを実行し、次のコードをaspxファイルにコピーして名前を変更します...。

それが動作します...

于 2012-07-23T10:32:36.490 に答える