腳本

2011-11-05 50 views
1
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

+0

如何通過ProgressBar將TemplateColumn添加到網格中? – sq33G

+0

我需要使用我的代碼或其他代碼,因爲這不是一個進度條 - 它必須顯示每個driverid有多少任務以及他已經完成了多少任務...所以,您能幫助我將腳本連接到代碼或幫助我與另一個代碼? – user1021182

回答

0

你也許會發現它簡單網格綁定到數據集,而不是構建一個試圖將自身注入到網格的表:

<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> 
+0

你知道如何使用Wntity框架工作,我可以設置我的<%#Eval(「OrderCount」)%>而不是 user1021182

+0

。 Entity Framework與您的UI上的控件有什麼關係? '「OrderCount」'將是你的數據源中包含你的數據的列。 – sq33G

+0

如何設置<%#Eval(「OrderCount」)%>從我粘貼的代碼OrderCount OrderCount = g.Count() – user1021182