アプリケーションから別のユーザーのツイートをダウンロードしたいアプリケーションがあります:
DataTable dt = obj.GetTableSP("GetAllBioOrderByNewest");
foreach (DataRow dr in dt.Rows)
{
WebClient wb = new WebClient();
Uri myUri = new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&count=10&screen_name=" + dr["TwitterHandle"].ToString());
wb.DownloadStringAsync(myUri);
wb.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wblastID_DownloadStringCompleted);
}
そしてここで、グリッドビューで結果をバインドする方法:
public void wblastID_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs args)
{
try
{
XElement xmlTweets = XElement.Parse(args.Result);
GridView1.DataSource = (from tweet in xmlTweets.Descendants("status")
select new Tweet
{
ID = tweet.Element("id").Value,
Message = tweet.Element("text").Value,
UserName = tweet.Element("user").Element("screen_name").Value,
TwitTime = tweet.Element("created_at").Value
}).ToList();
GridView1.DataBind();
if (GridView1.Rows.Count < 10)
{
viewmore.Visible = false;
}
}
catch
{
MessageBox.Show("Error downloading tweets");
}
}
しかし、ここでの問題は、データテーブルから最後のユーザーのツイートしか取得できないことです。
私が欲しいのは、すべてのユーザーの結果を組み合わせdt
て、グリッドビューに表示することです。