Sort items in datatable

后端 未结 5 735
臣服心动
臣服心动 2020-12-19 12:01

I have a datatable with one column that contain names.I want to load combobox with datatable such that names should be in alphabetic order for eg:first name starts with a. s

相关标签:
5条回答
  • 2020-12-19 12:41

    Use a DataView:

    DataTable dt; //comes from somewhere...
    DataView dv = new DataView(dt)
    dv.Sort = "Name ASC";
    foreach(DataRowView drv in dv)
        //....
    
    0 讨论(0)
  • 2020-12-19 12:46

    Method 1

        // orderby "FistName" column
        EnumerableRowCollection<DataRow> query = 
                        from order in datatable.AsEnumerable()
                        orderby datatable.Field<string>("FirstName")
                        select datatable;
    
        DataView view = query.AsDataView();
    
        // bind to your combobox
        combobox.DataSource = view;
        combobox.DataBind()
    

    Method 2: if using DataSets

        DataTable datatable = dataSet.Tables["yourDataTable"];    
        DataView view = datatable .AsDataView();
    
        view.Sort = "FirstName desc, LastName desc";
    
        combobox.DataSource = view;
        combobox.DataBind();
    

    Reference : Sorting with DataView (LINQ to DataSet)

    0 讨论(0)
  • 2020-12-19 12:52

    http://www.dotnetfunda.com/articles/article131.aspx

    0 讨论(0)
  • 2020-12-19 12:57

    use an typed dataset create a datatable in precising type of data for example i have create a dsAppointment

     DsAppointment dsAppointmentTmp = new DsAppointment();
     DsAppointment dsAppointment = new DsAppointment();
    //add all appointment
     dsAppointmentTmp.Appointment.AddAppointmentRow(name,start,end,body)
    //use select(filter,sort(name of columns)
    DataRow[] rows1 = dsAppointmentTmp.Tables[0].Select(string.Empty, dsAppointmentTmp.Tables[0].Columns[1].ToString());
    
                foreach (DataRow thisRow in rows1)
                {
                        dsAppointment.Tables[0].Rows.Add(thisRow.ItemArray);
    
                }
    

    //return dsAppointment sorted return dsAppointment;

    0 讨论(0)
  • 2020-12-19 13:05

    Here's the answer that you're looking for.

    DataTable MyDataTable;
    const string SortByClause = "[SomeCol] ASC";
    MyDataTable.DefaultView.Sort = SortByClause ;
    
    0 讨论(0)
提交回复
热议问题