gridview控件用法参考Word格式.docx
- 文档编号:15703966
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:11
- 大小:20.26KB
gridview控件用法参考Word格式.docx
《gridview控件用法参考Word格式.docx》由会员分享,可在线阅读,更多相关《gridview控件用法参考Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
asp:
TemplateField>
ItemTemplate>
ButtonID="
btnRefuse"
runat="
server"
OnClick="
btnRefuse_Click"
Text="
拒绝"
OnClientClick="
returnconfirm('
你真的要拒绝这个用户加入俱乐部?
'
)"
/>
/ItemTemplate>
/asp:
前言:
在我们做WEB开发的过程中,经常会遇到GridView中的某些字段太长了,如果全部显示出来就会使排版混,影响美观,尤其是在我们做新闻系统时肯定会遇到,比如显示新闻列表的gridview,页面的版面已设计美观,但是有的新闻标题过长,我们希望只显示一定长度,后面加省略号,然后当鼠标移上去时再显示标题的全部内容,这样就即做到了不影响版面的布局,又做到了标题内容的全部显示.
下图是我做的规则显示的效果图,有些规则太长,我要做到的是,当标题超出一定长度时我加省略号,当标题在一定长度范围内时,全标题显示:
效果如上,那么这种效果我们如何实现呢?
在GridView绑定的时候要做什么工作?
接下来我们来看实现思路:
其实说起来很简单,我们在这里将采用模板列,在模版列里拖入一个label控件来进行数据绑定,它的text属性绑定的时候用一个条件表达式来判断是全部绑定标题文字还是只绑定部分标题文字+省略号;
它的tooltip属性就直接绑定标题字段,这样我们的鼠标移上去就可以显示标题的全部内容了,绑定代码如下:
<
GridViewID="
GridView1"
AutoGenerateColumns="
False"
DataKeyNames="
RuleId"
Width="
100%"
ShowHeader="
GridLines="
None"
>
Columns>
ItemStyleWidth="
60px"
/>
LabelID="
Label1"
Font-Bold="
True"
ForeColor="
Green"
Text='
%#Eval("
RuleOrder"
)%>
Label>
TemplateFieldHeaderText="
规则标题"
ItemStyleHorizontalAlign="
Left"
VerticalAlign="
Middle"
CssClass="
grid1"
Height="
20px"
HyperLinkID="
HyperLink1"
NavigateUrl='
HtmlPath"
ToolTip='
RuleTitle"
)%>
Text='
).ToString().Length>
16?
Eval("
).ToString().Substring(0,16)+"
"
:
HyperLink>
/Columns>
GridView>
从上面的代码可以看出,我绑定Label控件的Text属性的时候用了条件表达式,当数据库中的标题长度大于16时,则截取前16个字符加上省略号进行显示,当小于16时,就全部绑定.ToolTip属性直接帮定标题字段,鼠标移上去就可显示全部标题了。
(题外话,如果你作的是新闻发布系统,你也可以在Text属性的后面再加上一个发布日期的绑定字段,这样标题,日期全出来聊,呵呵,可以灵活应用,举一反三)
gridview添加删除确认对话框
方法一:
VB代码
ProtectedSubGridView1_RowDataBound()SubGridView1_RowDataBound(ByValsenderAsObject,ByValeAsSystem.Web.UI.WebControls.GridViewRowEventArgs)HandlesGridView1.RowDataBound
Ife.Row.RowType=DataControlRowType.DataRowThen
e.Row.Cells(12).Attributes.Add("
onclick"
"
你确认要删除吗?
)
EndIf
EndSub
C#代码
if(e.Row.RowType==DataControlRowType.DataRow)
{
e.Row.Cells[5].Attributes.Add("
你确认要编辑吗?
);
}
}
方法二
在VS2005提供的GridView中我们可以直接添加一个CommandField删除列:
CommandFieldShowDeleteButton="
,然后在GridView的OnRowDeleting事件中完成删除。
但一般情况下我们在做这种删除操作时都需要先让用户确认一下,然后后再删除记录,以避免误操作引起的误删除。
那我们可以通过下面方法给GridView删除前加上一个确认对话框。
首先,在GridView的属性对框话框中点击“Columns”进入它的"
字段"
设计器;
或者在设计窗口直接点击GridView控件右上角的那个小箭头,点击"
编辑列"
进入"
设计器。
接着在"
设计器中的左下方"
选定的字段"
框中,选择以前已加上的那个CommandField“删除”列,这时在右边它的属性列表下会看到一个"
将此它段转换为TemplateFied"
的项,点击将它转换为TemplateFied列。
然后退出"
设计器,切换到源码视图你会发现该列已由原来的:
变为了:
TemplateFieldShowHeader="
LinkButtonID="
LinkButton1"
CausesValidation="
CommandName="
Delete"
删除"
LinkButton>
最后在<
中加入:
OnClientClick="
您确认删除该记录吗?
这样点击删除时就会先在客户端弹出“您确认删除该记录吗?
”对话框,点击"
确定"
则进行删除;
点击"
取消"
则不删除.
而原来在onRowDeleting事件中写的代码完全不用改变。
鼠标在GridView上移动时变换颜色
protectedvoidGridView1_RowCreated(objectsender,GridViewRowEventArgse)
if(e.Row.RowType==DataControlRowType.DataRow)
e.Row.Attributes.Add("
onmouseover"
currentcolor=this.style.backgroundColor;
this.style.backgroundColor='
#C0C0FF'
;
this.style.cursor='
hand'
//当鼠标移走时还原该行的背景色
onmouseout"
this.style.backgroundColor=currentcolor"
RowCreated:
开被创建时发生
e.Row.RowType==DataControlRowType.DataRow判断是否是数据行
DataControlRowType的枚举有:
DataRow数据行
EmptyDataRow
Footer
Header
Pager
Separator
如果对单元格进行变换。
if(e.Row.Cells[8].Text=="
USA"
//e.Row.BackColor=System.Drawing.Color.Red;
//修改整行的颜色
e.Row.Cells[8].BackColor=System.Drawing.Color.Red;
//修改单元格的颜色(第9列)
不足。
前端页面代码过多。
站带宽。
在GridView的第一列使用CheckBox控制每一行数据,是经常使用的,这里面我要记录的是全选、全消、选中行的底色更改,还有就是在提交数据的时候,取选中的行的编号等功能
aspx页面定义:
HeaderText="
选择"
Wrap="
HeaderTemplate>
CheckBoxID="
CheckBox1"
/as
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- gridview 控件 用法 参考