【发布时间】:2015-02-04 22:47:54
【问题描述】:
protected void GridViewTicketHistory_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow )
{
DropDownList drpnop = (DropDownList)e.Row.FindControl("DropDownList1");
if (drpnop != null)
{
foreach (Ticket ticket in entities.Tickets)
{
foreach (State state in entities.States)
{
if (ticket.StateID == state.StateID)
{
drpnop.DataTextField = state.StateName;
drpnop.DataValueField = state.StateID.ToString();
}
}
}
drpnop.DataBind();
}
}
}
数据绑定
protected void editCustomerTicket()
{
GridViewTicketHistory.AutoGenerateEditButton = true;
DataTable dat = new DataTable();
int ticketno = Convert.ToInt32(Session["TicketNo"]);
var a = from employee in entities.Employees
from ticket in employee.EmployeeTicket
select new
{
employee.ID,
employee.Name,
ticket.TicketNo,
ticket.Subject,
ticket.Date,
ticket.State.StateName
};
GridViewTicketHistory.DataSource = a;
GridViewTicketHistory.DataBind();
}
问题
我使用实体框架,我有 State 和 Tickets 表。Tickets 具有指向 State.(tickets.StateID).In 的导航属性 这段代码我试图查看每个下拉列表以及相应的状态 如果我使用 Command.Writeline 我可以看到 state.StateName 和 state.StateID 不是空的和正确的值。但是我看到是空的 填写下拉列表时的值。
我的目标
我的主要目标是在 下拉列表,但也可以从这些下拉列表中选择修复项目 下列表。假设 StateID=0 StateName=Started StateID=1 StateName=%25 progress StateID=2 StateName=finished 每个单独的工单都有状态 id 和 name 并希望根据它在所有行中显示它 票。也可以从 StateID= 0,1,2 的固定列表中选择。
【问题讨论】:
标签: c# asp.net entity-framework gridview