Membuat Auto refresh Halaman
dengan tujuan agar informasi pada halaman hasil penilaian
dapat berubah secara realtime tiap 20 detik maka perlu ditambahkan script
seperti berikut ini:
untuk fungsi mainnya adalah sebagai berikut ini dengan
memanfaatkan sebuah thread maka secara otomatis dapat membuat halaman tersebut
selalu auto refresh tiap 20 detik.
public Main()
{
try
{
RebindData();
SetTimer();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Script diatas memanggil beberapa fungsi yaitu fungsi
RebindData untuk menaruh script utama yang dijalankan sedangkan SetTimer untuk
durasi waktu thread berlangsung. Berikut ini contoh script RebindData() dan
SetTimer untuk halaman Moderation
private void RebindData()
{
new Action(async () =>
{
var user = await MyService.GetLeaderIdAsync(new ServiceReference1.User { UserId = idleader });
foreach (var usr in user)
{
country = usr.UserCountry;
}
var gradeleader = await MyService.GetModerasiLeaderAsync(new ServiceReference1.ModerasiLeader {
Country = country });
if (gradeleader.Count() > 0)
{
foreach (var grd in gradeleader)
{
dtgrdModeration.ItemsSource = await MyService.GetModerasiLeaderAsync(new ServiceReference1.ModerasiLeader {
Country = country });
dtgrdModeration.Columns[0].DisplayIndex = 3;
dtgrdModeration.Columns[1].DisplayIndex = 2;
dtgrdModeration.Columns[2].DisplayIndex = 1;
dtgrdModeration.Columns[3].DisplayIndex = 0;
}
}
}).Invoke();
}
protected void dispatcherTimer_Tick(object sender, EventArgs e)
{
RebindData();
}
private void SetTimer()
{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 20);
dispatcherTimer.Start();
}
No comments:
Post a Comment