2010-09-16 50 views
0

我有一個小問題。我正在Web部件中創建一個SPGridView,並將其添加到Web部件中,並在其中包含一些數據。這工作正常。我現在決定讓它看起來有點時髦!SpGridView造型

但是我似乎無法讓我的cssclass屬性工作。

我在CSS文件中的類

.SPGridviewsCSS th 
{ 
background-color:#e60004; 
color: Blue!important; 
background-image:none; 
} 

.SPGridviewsCSS td 
{ 
border-bottom-style: solid ; 
border-bottom-width: 1px ; 
border-bottom-color: #e60004 ; 
} 

和 在我的OnInit事件

CssRegistration.Register("/Styles/Style.css"); 

然後

myspgridview.cssclass = "SPGridviewsCSS" 

我要的是它使網格視圖看起來不錯!!!

回答

1

我使用了一些用於SPGridView樣式的服務器代碼。這不是非常優雅的解決方案,但它完美地工作。如果你沒有太多的時間去尋找更好的解決方案,你可以在你的用戶控件或.aspx頁面,其中SPGridView控件放置使用此代碼:

protected override void CreateChildControls() 
{ 
    // ... 
    spGridView.RowStyle.CssClass = "spgridview-td"; 
    spGridView.AlternatingRowStyle.CssClass = "spgridview-td-alternating"; 
    this.Controls.Add(spGridView); 
    // ... 
} 

當然,你可以使用ASPX標記代替生成控件。例如:

<asp:SPGridView ID="spGridView" runat="server"> 
    <RowStyle CssClass="spgridview-td" /> 
    <AlternatingRowStyle CssClass="spgridview-td-alternating" /> 
</asp:SPGridView> 

接下來的事情是重視造型到標題:

protected override void Render(HtmlTextWriter writer) 
{ 
    // ... 
    spGridView.DataBind(); 
    if (spGridView.HeaderRow != null) 
    foreach (TableCell cell in spGridView.HeaderRow.Cells) 
     cell.CssClass = "spgridview-th"; 
    // ... 
} 

所以,你的CSS將是:

.spgridview-th 
{ 
    background-color:#e60004; 
    color: Blue!important; 
    background-image:none; 
} 

.spgridview-td 
{ 
    border-bottom-style: solid ; 
    border-bottom-width: 1px ; 
    border-bottom-color: #e60004 ; 
} 

.spgridview-td-alternating 
{ 
} 

希望,這有助於!

+0

我已經嘗試過,但無濟於事:(我將開始一個新項目,看看我是否可以讓它以這種方式工作,而不是試圖將其應用於我的情況。 – Truezplaya 2010-09-17 09:49:04

0

我不是一個CSS專家,但th和td不是網格的表格元素的直接後裔,所以也許你應該嘗試:

.SPGridviewsCSS * td 

Have a look here

+0

我做過嘗試,但仍無法正常工作,但對答覆表示感謝。這真的很有趣,因爲我已經從一個同事那裏借了一個css(現在已經離開了),他們的應用方式完全一樣,但我的工作並沒有成功,他的確如此! – Truezplaya 2010-09-16 12:41:27

+0

您是否嘗試過使用IE(或其他瀏覽器的等價物)的開發人員工具來查看「grid」中th和td的類和應用樣式? – Timores 2010-09-16 13:30:06

+0

當你使用這些工具時,它顯示信息全部在表格內呈現,並沒有引用spgridview – Truezplaya 2010-09-16 14:48:28

0

使用IE開發工具欄(或者,我可以建議Firebug w/Mozilla Firefox),您可以驗證CSS類正在應用的HTML輸出元素嗎?

我有一種感覺,主要的CSS選擇器(.SPGridviewsCSS)失敗,因此沒有任何樣式。

也有用的可能是張貼HTML輸出的片段,所以我們可以看到你想要的樣式。