从Webservice中检索数据并在列表框中显示它们
问题描述:
我可以检索数据。然而,我并不想将这些数据绑定到我的列表框中。从Webservice中检索数据并在列表框中显示它们
XAML文件中的代码
<ListBox Grid.Row="1" Height="Auto" HorizontalAlignment="Left" Margin="12,140,0,0" Name="lb_AllActivity" VerticalAlignment="Top" Width="Auto" FontFamily="Tahoma" FontSize="25">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Border Margin="3">
<StackPanel Background="Transparent" Orientation="Vertical" Width="420" Height="60">
<StackPanel Background="Transparent" Orientation="Horizontal" Width="420" Height="60">
<TextBlock Foreground="White" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Center" Text="{Binding DateTime}"></TextBlock>
<TextBlock Foreground="White" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Center" Text="{Binding Amt}"></TextBlock>
<TextBlock Foreground="White" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Center" Text="{Binding Msg}"></TextBlock>
</StackPanel>
</StackPanel>
</Border>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我已经在我的CS文件中的下列代码
public partial class Activities : PhoneApplicationPage
{
DatabaseService.ServiceSoapClient dbService = new DatabaseService.ServiceSoapClient();
public Activities()
{
InitializeComponent();
InitializeComponent();
dbService.getAllActivityAsync("Russell Loh");
dbService.getAllActivityCompleted += new EventHandler<DatabaseService.getAllActivityCompletedEventArgs>(dbService_getAllActivity);
}
public class AllActivity
{
public string TransID { get; set; }
public string Amt { get; set; }
public string Cat { get; set; }
public string SharedNo { get; set; }
public string Msg { get; set; }
public string DateTime { get; set; }
}
void dbService_getAllActivity(object sender, DatabaseService.getAllActivityCompletedEventArgs e)
{
if (e.Error == null)
{
string result = e.Result;
string[] arrayActivity = result.Split('~');
string[] transID = arrayActivity[0].Split('#');
string[] amount = arrayActivity[1].Split('#');
string[] category = arrayActivity[2].Split('#');
string[] sharedNum = arrayActivity[3].Split('#');
string[] message = arrayActivity[4].Split('#');
string[] dateTime = arrayActivity[5].Split('#');
List<String> Activitylist = new List<String>();
for (int i = 0; i < transID.Length; i++)
{
string TransID = transID[i];
string Amt = amount[i];
string Cat = category[i];
string SharedNo = sharedNum[i];
string Msg = message[i];
string DateTime = dateTime[i];
//Activitylist.Add(DateTime + " $" + Amt);
Activitylist.Add(DateTime);
Activitylist.Add(Msg);
Activitylist.Add(Amt);
}
lb_AllActivity.ItemsSource = Activitylist;
}
}
答
虽然我不是100%肯定你正在尝试做的,但我想.. 。
您还没有填充您的ActivityList
或ListBox
正确
for (int i = 0; i < transID.Length; i++)
{
string TransID = transID[i];
string Amt = amount[i];
string Cat = category[i];
string SharedNo = sharedNum[i];
string Msg = message[i];
string DateTime = dateTime[i];
//create a new instance of activity
AllActivity activity = new AllActivity();
activity.Amt = Amt;
activity.Msg = Msg;
activity.DateTime = DateTime;
ActivityList.Add(activity);
}
我正在尝试从web服务 DATAS通过我的斯普利特,我其实劈裂以上(RESULT1,结果2 ...等) 结果我还是老样子无法活动添加到ActivityList。 我现在应该做什么?我对移动应用程序很陌生。 – user1125911 2012-01-02 14:03:17
public string getAllActivity(string userName) { string result1 =“”; string result2 =“”; string result3 =“”; string result4 =“”; string result5 =“”; string result6 =“”; string sql =“EXEC GetAllActivities'”+ userName +“'”; SqlCommand cmd = new SqlCommand(sql,sqlConnection); SqlDataReader阅读器; 尝试 sqlConnection.Open(); reader = cmd.ExecuteReader(); while(reader.Read()) { – user1125911 2012-01-02 14:03:54
result1 + = reader [0] +“#”; result2 + = reader [1] +“#”; result3 + = reader [2] +“#”; result4 + = reader [3] +“#”; result5 + = reader [4] +“#”; result6 + = reader [5] +“#”; } } 赶上(例外){} 返回RESULT1 + “〜” + RESULT2 + “〜” + result3 + “〜” + result4 + “〜” + result5 + “〜” + result6; } – user1125911 2012-01-02 14:04:28