하나의 특정 열을 기준으로 정렬하려고하는 2 개의 datagridview가 있습니다. 내가하려고하는 것은 프로그램이 시작될 때 DGV가 내림차순으로 한 열씩 자동으로 정렬되기를 원할 때입니다. 나는 찾고 있었고 내가 찾고있는 것을 찾을 수없는 것처럼 보였다.특정 열을 정렬하는 Datagridview
다음은 내가 묻는 이미지입니다. 먼저 저널 ID 열이 가장 높은 위치에서 시작하여 거기에서 내려 오기를 원합니다. 사전에
덕분에
하나의 특정 열을 기준으로 정렬하려고하는 2 개의 datagridview가 있습니다. 내가하려고하는 것은 프로그램이 시작될 때 DGV가 내림차순으로 한 열씩 자동으로 정렬되기를 원할 때입니다. 나는 찾고 있었고 내가 찾고있는 것을 찾을 수없는 것처럼 보였다.특정 열을 정렬하는 Datagridview
다음은 내가 묻는 이미지입니다. 먼저 저널 ID 열이 가장 높은 위치에서 시작하여 거기에서 내려 오기를 원합니다. 사전에
덕분에
private void Form1_Load(object sender, EventArgs e)
{
string connectionstring = @"Data Source=|DataDirectory|\Database1.sdf";
SqlCeConnection connection = new SqlCeConnection(connectionstring);
SqlCeCommand command = new SqlCeCommand(" SELECT * FROM journalTbl ORDER BY journalId DESC ;", connection);
try
{
SqlCeDataAdapter adapter = new SqlCeDataAdapter();
adapter.SelectCommand = command;
DataTable datatable = new DataTable();
adapter.Fill(datatable);
BindingSource bindingsource = new BindingSource();
bindingsource.DataSource = datatable;
dataGridView1.DataSource = bindingsource;
adapter.Update(datatable);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Order By SQL - SQL 참조
Order By clause C# MSDN 참조
참고 : 자동으로 오름차순으로 주문한다하여 주문. 나는 또한 SQL Compact Edition을 사용하고있다.
나는 당신의 를 Form1_Load (...) 방법에 다음 줄을 추가합니다.
DataGridViewColumn columnToSort = dataGridView1.Columns["ColumnNameToSortGoesHere"];
dataGridView1.Sort(columnToSort, ListSortDirection.Descending);
코드 숨김을 사용하지 않아도됩니다. MVVM 모델과 Linq 라이브러리를 공부해야합니다. 당신은 일하고 더 깨끗하게 될 것입니다. 이 문제에 대한 모델 MVVM 당신 솔루션에서
은 단순히 그것을이다<DataGrid ItemsSource="{Binding ListModelBinding}" />
바인딩 만들려면 XAML에서
private ObservableCollection<string> _listModelBinding;
public ObservableCollection<string> ListModelBinding
{
get { return _listModelBinding; }
set { _listModelBinding= value; RaisePropertyChanged("ListModelBinding"); }
}
public MainViewModel()
{
ListModelBinding = ListModelBinding.OrderBy(x => x.ToString());
}
당신의 ViewModel
에서 입니다.MVVM Light NuGet을 사용하여 프로젝트에서 MVVM을 사용할 수 있습니다.