新闻视频 36:整合首页 用到 Repeater 主要用gridview /gridview去掉边框用到 BorderWidth=”0” inner join和 left...
來看首頁的 類別
?? 要用循環(huán)么?不用? 用數(shù)據(jù)綁定就可以了(實(shí)際也是循環(huán))? 我們用 repeater
這個(gè)Repeater 不會生成多余的html代碼
?
在寫sql語句的時(shí)候,如果用到多表查詢,那么能寫 inner join 的? 就寫出來。因?yàn)楫?dāng)我們有時(shí)候,需要修改,比如把內(nèi)連接(兩張表都必須有符合邏輯的數(shù)據(jù)),改成 左連接 (比如 顯示新聞和新聞評論個(gè)數(shù),有的評論個(gè)數(shù)是0,如果右表新聞評論不存在,如果用的是內(nèi)連接,則沒有了顯示。這個(gè)時(shí)候就應(yīng)該用左連接)
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 顯示結(jié)果都是一樣的??如果將 評論表改成左連接,看看
執(zhí)行之后
就把評論為0 的 新聞 也顯示出來了。? 下面繼續(xù)完成首頁的修改。
我們用 gridview 來顯示。
我們先把原來的表格 注釋掉,然后拖一個(gè) gridview 控件進(jìn)去
1:現(xiàn)在后臺綁定數(shù)據(jù)源
生成如下
那么 ,如何在 gridview 里面修改? 涉及到一個(gè) 自定義模板
1:禁用 自動(dòng)生成列?
選擇編輯列之后,添加3個(gè)? 綁定字段? BoundField?
這個(gè)時(shí)候,我們看看源代碼,會發(fā)現(xiàn)生成了3個(gè) 綁定列? 他們的HeaderText 變成了 我們想要的? 類別 標(biāo)題 和時(shí)間
我們運(yùn)行看看,發(fā)現(xiàn)綁定數(shù)據(jù)后的表格和下面的表格樣式有區(qū)別,如何把 th_category 加入到表格呢?我們不能單純的使用 綁定字段,而是要使用 自定義模板列
把3個(gè)都選擇為? 模板列 TemplateField?? ,然后轉(zhuǎn)到? 代碼界面。會發(fā)現(xiàn)生成了很多代碼,但是有一些代碼? 是不需要的,我們刪掉。
這個(gè)時(shí)候 我們 th 的樣式就解決了,如何來解決 td 里面的 文字,以及 加入鏈接等改變呢?
td我們使用 ItemStyle-CssClass
?
截取一個(gè)字符串,調(diào)用一個(gè)靜態(tài)函數(shù),不需要另外的生成,直接調(diào)用
/// <summary> /// 將指定字符串按指定長度進(jìn)行剪切, /// </summary> /// <param name= "oldStr "> 需要截?cái)嗟淖址?</param> /// <param name= "maxLength "> 字符串的最大長度 </param> /// <param name= "endWith "> 超過長度的后綴 </param> /// <returns> 如果超過長度,返回截?cái)嗪蟮男伦址由虾缶Y,否則,返回原字符串 </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;}
這個(gè)實(shí)際上是錯(cuò)的。正確的寫法如下
再來將 Lable換成 超鏈接 href
?
gridview 默認(rèn)會給邊框加1個(gè)像素,如何調(diào)整呢?我們用到 BorderWidth=”0” 即可
轉(zhuǎn)載于:https://www.cnblogs.com/iceicebaby/archive/2011/11/10/2244806.html
總結(jié)
以上是生活随笔為你收集整理的新闻视频 36:整合首页 用到 Repeater 主要用gridview /gridview去掉边框用到 BorderWidth=”0” inner join和 left...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于J2EE+JBPM3.x/JBPM4
- 下一篇: 解读Android LOG机制的实现