объединение между скриптами - PullRequest
1 голос
/ 05 ноября 2011
DriverId      OrderCount      OrderCountWhereNameIsNotNull
12               2                         2
13               1                         1

это текущая таблица, которая создается с помощью этого кода:

 public partial class Control : System.Web.UI.Page
    {



        protected void Page_Load(object sender, EventArgs e)
    {
        OrderDataRepository rep = new OrderDataRepository();

        var results = rep.GetAllOrderData().
                      GroupBy(o => o.DRIVER_ID).
                      Select(g =>
                                new
                                {
                                    DriverId = g.Key,
                                    OrderCount = g.Count(),
                                    OrderCountWhereNameIsNotNull = 
                                                      g.Count(o => o.RECEIVE_NAME != null)
                                }).ToList();

        DataViewer.DataSource = results;
        DataViewer.DataBind();
    }

    }

вместо таблицы, которую мне нужно взять и напечатать для каждого DriverId индикатор выполнения, как в этом сценарии:

  int OrderCount, OrderCountWhereNameIsNotNull;
System.Web.UI.WebControls.TableRow oRow;
System.Web.UI.WebControls.TableCell oCell;
System.Web.UI.HtmlControls.HtmlGenericControl oDiv;

while (true)
//loop through records
//do while not eof
{
    oRow = new System.Web.UI.WebControls.TableRow();
    oCell = new System.Web.UI.WebControls.TableCell();
    oDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
    OrderCount = 200; //get value from DB, convert to meaningful width
    OrderCountWhereNameIsNotNull = 100; //get value from DB, convert to meaningful width

    oDiv.InnerHtml = "<div style='border: 3px solid black; width: " + OrderCount + "px;'>";
    oDiv.InnerHtml += Environment.NewLine + "  <div style='border: 0px; background-color: red; width: " + OrderCountWhereNameIsNotNull + "px;'>&nbsp;</div>";
    oDiv.InnerHtml += Environment.NewLine + "</div>";
    oCell.Controls.Add(oDiv);
    oRow.Cells.Add(oCell);
    tblData.Rows.Add(oRow);
}

я не могу объединить их, может быть, сценарий не очень хорош ... пожалуйста, помогите

на данный момент моя главная страница:

<form id="Form1" runat="server">
        <asp:GridView runat="server" ID="DataViewer">
        </asp:GridView>
    </form>

enter image description here

1 Ответ

0 голосов
/ 06 ноября 2011

Возможно, вам будет проще привязать вашу сетку к набору данных, чем строить таблицу, которая пытается внедрить себя в сетку:

<asp:GridView ID="DataViewer" runat="server">
    <Columns>
        <TemplateColumn>
            <ItemTemplate>
Put the code for rendering your progress bar here in pure HTML. 
When you come to a value that will come from a row in your data, do like this:
<div style='width: <%# Eval("OrderCount") %>' />
            </ItemTemplate>
        </TemplateColumn>
    </Columns>
</asp:GridView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...