2012-10-15 64 views
0

我正在使用gridview,我需要在彈出窗口的表格/網格中顯示特定的細節,如果我將鼠標指向每一行。 我試圖按照彈出:在gridview中顯示將鼠標移動到一行上的詳細信息?

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     PopupControlExtender pce = e.Row.FindControl("PopupControlExtender1") as PopupControlExtender; 

     string behaviorID = "pce_" + e.Row.RowIndex; 
     pce.BehaviorID = behaviorID; 

     Image img = (Image)e.Row.FindControl("Image1"); 

     string OnMouseOverScript = string.Format("$find('{0}').showPopup();", behaviorID); 
     string OnMouseOutScript = string.Format("$find('{0}').hidePopup();", behaviorID); 

     img.Attributes.Add("onmouseover", OnMouseOverScript); 
     img.Attributes.Add("onmouseout", OnMouseOutScript); 
    } 
} 


[System.Web.Services.WebMethodAttribute(), 
    System.Web.Script.Services.ScriptMethodAttribute()] 
    public static string GetDynamicContent(string contextKey) 
    { 
     string constr = ConfigurationSettings.AppSettings["ConnectionInfo"]; 
     SqlConnection con = new SqlConnection(constr); 
     con.Open(); 
     string query = "SELECT * FROM Table1 WHERE field1 = '" + contextKey + "' "; 

     SqlDataAdapter da = new SqlDataAdapter(query, con); 
     DataTable table = new DataTable(); 

     da.Fill(table); 

     StringBuilder b = new StringBuilder(); 
    b.Append("<table border='1' style='background-color:#f3f3f3; "); 
    b.Append("width:350px; font-size:10pt; font-family:Verdana;' cellspacing='0' cellpadding='3'>"); 

    b.Append("<tr style = 'background-image: url(Images/HeaderGlassBlack.jpg); background-repeat:repeat; color:#FFC700; '><td style='width:50px;'><b>Employee</b></td>"); 
    b.Append("<td style='width:80px;'><b>KPI Name</b></td>"); 
    b.Append("<td style='width:80px;'><b>Business</b></td>"); 
    b.Append("<td style='width:80px;'><b>Description</b></td>"); 

    b.Append("<td style='width:50px;'><b>Plan Live</b></td>"); 
    b.Append("<td style='width:80px;'><b>Actual Live</b></td>"); 
    b.Append("<td style='width:80px;'><b>Plan Q1</b></td>"); 
    b.Append("<td style='width:80px;'><b>Actual Q1</b></td></tr>"); 

    b.Append("<tr>"); 
    b.Append("<td>" + table.Rows[0]["Emp_Name"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["kpi_name"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["Bus_Name"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["Description"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["PLAN_LIVE"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["ACTUAL_LIVE"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["PLAN_Q1"].ToString() + "</td>"); 
    b.Append("<td>" + table.Rows[0]["ACTUAL_Q1"].ToString() + "</td>"); 


    b.Append("</tr>"); 

    b.Append("</table>"); 

    return b.ToString(); 
} 

我知道我需要遍歷數據集來填充dymanic表中的所有值碼這是工作相同,但只顯示一行,但我不知道如何做到這一點。有人可以幫忙嗎?

+0

你能夠創建html表嗎? – jams

+0

是的,我正在生成HTML表格。可能是我將需要計數在dataadapter中生成的行,並通過html表循環。 –

+0

不工作。我甚至嘗試綁定gridview而不是html表,希望所有的行都會被綁定,但沒有用。 –

回答

1

您可以使用此代碼

b.Append("<table>"); 
//Here you add attributes of table 
.... 
foreach(var row in table.Rows) 
{ 

    b.Append("<tr>"); 
    b.Append("<td>"); 
    b.Append(row["Emp_Name"].ToString()); 
    b.Append("</td>"); 
    //here you add your differents cells 
    ....... 
    b.Append("</tr>"); 
} 
//Close your table 
b.Append("</table>"); 

.... 
+0

Thnx candie。你解決方案工作! 但是我不得不作出一個更改,我使用了DataRow在Foreach條件中放入了var。非常感謝。 –

+0

我很高興爲您提供Hitesh謝謝 –