【发布时间】:2015-01-26 03:56:26
【问题描述】:
我在尝试为组合框设置 DataSource 时遇到问题。我收到错误无法转换为 System.IConvertible 类型。它说这是因为我有一个 System.Convert.ToInt32(object value) 但我正在将对象转换为 int。我似乎无法弄清楚如何解决这个问题。
当我在另一个组合框中选择一个项目时,数据源必须触发。 这是我尝试转换对象并尝试填充组合框的 SelectIndex 事件。
private void cbBookedSeatMovTime_SelectedIndexChanged(object sender, EventArgs e)
{
ServiceReferenceMovieRunTime.MovieRunTimeServiceClient movRunService = new ServiceReferenceMovieRunTime.MovieRunTimeServiceClient();
ServiceReferenceSeats.SeatsServiceClient seatService = new ServiceReferenceSeats.SeatsServiceClient();
string _selectedMovName = Convert.ToString(cbBookedSeatMovInfo.SelectedValue);
string _selectedMovDate = Convert.ToString(cbBookedSeatMovDate.SelectedValue);
string _selectedMovTime = Convert.ToString(cbBookedSeatMovTime.SelectedValue);
int _runTimeId = Convert.ToInt32(movRunService.GetRunTimeOnNameDateAndTime(_selectedMovName, _selectedMovDate, _selectedMovTime));
cbRow1.DataSource = seatService.GetRowsOnRunTime(_runTimeId);
cbRow1.ValueMember = "id";
cbRow1.DisplayMember = "rowId";
}
获取席位Service.GetRowsOnRunTime();我必须输入一个整数。我从其他三个组合框获得的 int 并放入服务 movieRunService.GetRunTimeOnNameDateAndTime() ,这需要三个字符串 cbBookedSeatMovInfo.SelectedValue、cbBookedSeatMovDate.SelectedValue 和 cbBookedSeatMovTime.SelectedValue。
我不明白为什么我不能将对象转换为 int32 ?谁能帮帮我。
谢谢!
【问题讨论】:
-
...GetRunTimeOnNameDateAndTime 返回什么?
-
GetRunTimeOnNameDateAndTime 返回 MovieRunTime 列表。
-
那么如何用Convert.ToInt32()将list转换成整数呢?
-
我不知道这是否是正确的做法?你能建议另一种方式吗?