作成日: 2018/02/16 最終更新日: 2018/02/16
文書種別
使用方法
詳細
C1GridViewで動的にデータ連結する場合、ソートを有効にするために必要な処理は下記のようになります。
(1) DataViewに連結する場合
C1GridView.Sortedイベント内でデータソースを再設定すると、自動的にソートが実行されます。
◎サンプルコード(VB)
◎サンプルコード(C#)
(2) 配列に連結する場合
C1GridView.Sortingイベント内でデータソースを手動でソートしてから再設定する必要があります。
◎サンプルコード(VB)
◎サンプルコード(C#)
(1) DataViewに連結する場合
C1GridView.Sortedイベント内でデータソースを再設定すると、自動的にソートが実行されます。
◎サンプルコード(VB)
Protected Sub C1GridView1_Sorted(ByVal sender As Object, ByVal e As EventArgs)
C1GridView1.DataSource = GetData
C1GridView1.DataBind
End Sub
Public Function GetData() As DataTable
Dim dt = New DataTable
・・・
Return dt
End Function
C1GridView1.DataSource = GetData
C1GridView1.DataBind
End Sub
Public Function GetData() As DataTable
Dim dt = New DataTable
・・・
Return dt
End Function
◎サンプルコード(C#)
protected void C1GridView1_Sorted(object sender, EventArgs e)
{
C1GridView1.DataSource = GetData();
C1GridView1.DataBind();
}
public DataTable GetData()
{
var dt = new DataTable();
・・・
return dt;
}
{
C1GridView1.DataSource = GetData();
C1GridView1.DataBind();
}
public DataTable GetData()
{
var dt = new DataTable();
・・・
return dt;
}
(2) 配列に連結する場合
C1GridView.Sortingイベント内でデータソースを手動でソートしてから再設定する必要があります。
◎サンプルコード(VB)
Protected Sub C1GridView1_Sorting(ByVal sender As Object, ByVal e As C1.Web.Wijmo.Controls.C1GridView.C1GridViewSortEventArgs)
Dim data = GetData
If (e.SortDirection = C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Ascending) Then
data = data.OrderBy(() => { }, p.No).ToArray
ElseIf (e.SortDirection = C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Descending) Then
data = data.OrderByDescending(() => { }, p.No).ToArray
End If
C1GridView1.DataSource = data
C1GridView1.DataBind
End Sub
Public Function GetData() As IEnumerable(Of Test)
Dim data1 = New Test() With {.No = 1, .Name = "AAA"}
Dim data2 = New Test() With {.No = 2, .Name = "BBB"}
Dim data3 = New Test() With {.No = 3, .Name = "CCC"}
Return {data1, data2, data3}
End Function
Dim data = GetData
If (e.SortDirection = C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Ascending) Then
data = data.OrderBy(() => { }, p.No).ToArray
ElseIf (e.SortDirection = C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Descending) Then
data = data.OrderByDescending(() => { }, p.No).ToArray
End If
C1GridView1.DataSource = data
C1GridView1.DataBind
End Sub
Public Function GetData() As IEnumerable(Of Test)
Dim data1 = New Test() With {.No = 1, .Name = "AAA"}
Dim data2 = New Test() With {.No = 2, .Name = "BBB"}
Dim data3 = New Test() With {.No = 3, .Name = "CCC"}
Return {data1, data2, data3}
End Function
◎サンプルコード(C#)
protected void C1GridView1_Sorting(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewSortEventArgs e)
{
var data = GetData();
if (e.SortDirection == C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Ascending)
{
data = data.OrderBy(p => p.No).ToArray();
}
else if (e.SortDirection == C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Descending)
{
data = data.OrderByDescending(p => p.No).ToArray();
}
C1GridView1.DataSource = data;
C1GridView1.DataBind();
}
public IEnumerable GetData()
{
var data1 = new Test() { No = 1, Name = "AAA" };
var data2 = new Test() { No = 2, Name = "BBB" };
var data3 = new Test() { No = 3, Name = "CCC" };
return new[] { data1, data2, data3 };
}
{
var data = GetData();
if (e.SortDirection == C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Ascending)
{
data = data.OrderBy(p => p.No).ToArray();
}
else if (e.SortDirection == C1.Web.Wijmo.Controls.C1GridView.C1SortDirection.Descending)
{
data = data.OrderByDescending(p => p.No).ToArray();
}
C1GridView1.DataSource = data;
C1GridView1.DataBind();
}
public IEnumerable
{
var data1 = new Test() { No = 1, Name = "AAA" };
var data2 = new Test() { No = 2, Name = "BBB" };
var data3 = new Test() { No = 3, Name = "CCC" };
return new[] { data1, data2, data3 };
}
関連情報
旧文書番号
82528