新闻视频 36:整合首页 用到 Repeater 主要用gridview /gridview去掉边框用到 BorderWidth=”0” inner join和 left...
來看首頁的 類別
?? 要用循環么?不用? 用數據綁定就可以了(實際也是循環)? 我們用 repeater
這個Repeater 不會生成多余的html代碼
?
在寫sql語句的時候,如果用到多表查詢,那么能寫 inner join 的? 就寫出來。因為當我們有時候,需要修改,比如把內連接(兩張表都必須有符合邏輯的數據),改成 左連接 (比如 顯示新聞和新聞評論個數,有的評論個數是0,如果右表新聞評論不存在,如果用的是內連接,則沒有了顯示。這個時候就應該用左連接)
ALTER proc [dbo].[news_SelectHotNews] as begin select top 5 a.id,a.title,a.createtime, c.name, COUNT(b.id) as comCountfrom news a,comment b,category cwhere a.id=b.newsid and a.caId=c.idgroup by a.id,a.title,a.createtime, c.nameorder by comCount desc end?
改成? inner join 的寫法是
ALTER proc [dbo].[news_SelectHotNews] as begin----select top 5 a.id,a.title,a.createtime, c.name, COUNT(b.id) as comCount----from news a,comment b,category c----where a.id=b.newsid and a.caId=c.id----group by a.id,a.title,a.createtime, c.name----order by comCount descselect top 5 a.id,a.title,a.createtime, c.name, COUNT(b.id) as comCountfrom news ainner join category c on a.caId=c.idinner join comment b on b.newsid=a.idgroup by a.id,a.title,a.createtime,c.nameorder by comCount desc end 顯示結果都是一樣的??如果將 評論表改成左連接,看看
執行之后
就把評論為0 的 新聞 也顯示出來了。? 下面繼續完成首頁的修改。
我們用 gridview 來顯示。
我們先把原來的表格 注釋掉,然后拖一個 gridview 控件進去
1:現在后臺綁定數據源
生成如下
那么 ,如何在 gridview 里面修改? 涉及到一個 自定義模板
1:禁用 自動生成列?
選擇編輯列之后,添加3個? 綁定字段? BoundField?
這個時候,我們看看源代碼,會發現生成了3個 綁定列? 他們的HeaderText 變成了 我們想要的? 類別 標題 和時間
我們運行看看,發現綁定數據后的表格和下面的表格樣式有區別,如何把 th_category 加入到表格呢?我們不能單純的使用 綁定字段,而是要使用 自定義模板列
把3個都選擇為? 模板列 TemplateField?? ,然后轉到? 代碼界面。會發現生成了很多代碼,但是有一些代碼? 是不需要的,我們刪掉。
這個時候 我們 th 的樣式就解決了,如何來解決 td 里面的 文字,以及 加入鏈接等改變呢?
td我們使用 ItemStyle-CssClass
?
截取一個字符串,調用一個靜態函數,不需要另外的生成,直接調用
/// <summary> /// 將指定字符串按指定長度進行剪切, /// </summary> /// <param name= "oldStr "> 需要截斷的字符串 </param> /// <param name= "maxLength "> 字符串的最大長度 </param> /// <param name= "endWith "> 超過長度的后綴 </param> /// <returns> 如果超過長度,返回截斷后的新字符串加上后綴,否則,返回原字符串 </returns> public static string StringTruncat(string oldStr, int maxLength, string endWith){if (string.IsNullOrEmpty(oldStr))// throw new NullReferenceException( "原字符串不能為空 "); return oldStr + endWith;if (maxLength < 1)throw new Exception("返回的字符串長度必須大于[0] ");if (oldStr.Length > maxLength){string strTmp = oldStr.Substring(0, maxLength);if (string.IsNullOrEmpty(endWith))return strTmp;elsereturn strTmp + endWith;}return oldStr;}
這個實際上是錯的。正確的寫法如下
再來將 Lable換成 超鏈接 href
?
gridview 默認會給邊框加1個像素,如何調整呢?我們用到 BorderWidth=”0” 即可
轉載于:https://www.cnblogs.com/iceicebaby/archive/2011/11/10/2244806.html
總結
以上是生活随笔為你收集整理的新闻视频 36:整合首页 用到 Repeater 主要用gridview /gridview去掉边框用到 BorderWidth=”0” inner join和 left...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于J2EE+JBPM3.x/JBPM4
- 下一篇: 计算机专有名词积累