针对asp.net–选择性地将CSS应用于gridview中的一行和css怎么应用到html这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展asp.netChecbox在GridView中的
针对asp.net – 选择性地将CSS应用于gridview中的一行和css怎么应用到html这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展asp.net Checbox在GridView中的应用实例分析、asp.net gridview中的datetime格式、asp.net gridview复选框选择、asp.net – GridView中的TemplateField标题等相关知识,希望可以帮助到你。
本文目录一览:- asp.net – 选择性地将CSS应用于gridview中的一行(css怎么应用到html)
- asp.net Checbox在GridView中的应用实例分析
- asp.net gridview中的datetime格式
- asp.net gridview复选框选择
- asp.net – GridView中的TemplateField标题
asp.net – 选择性地将CSS应用于gridview中的一行(css怎么应用到html)
例如。:
GridView的数据源是SummaryItems的一个通用列表,而SummaryItem具有一个属性ShouldHighlight。当ShouldHighlight == true时,应将相关行的CSS设置为突出显示
有任何想法吗?
解决方法
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DaTarow) { DaTarowView drv = e.Row.DataItem as DaTarowView; if (drv["ShouldHighlight"].ToString().ToLower() == "true") e.Row.Css; } }
如果您使用DataTable作为DataSource,上述代码将起作用
改成:
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DaTarow) { myClass drv = (myClass)e.Row.DataItem; if (drv.ShouldHighlight) e.Row.Css; } }
只是为了上面的例子使用泛型:
public class myClass { public Boolean ShouldHighlight { get; set; } }
如果您正在使用泛型(列表,字典等)
记住:
e.Row.dataItem
总是返回您填充行的整个对象,因此从这里很容易操纵网页中的数据的外观。
您应该使用RowDataBound事件,该数据将在数据附加到行对象之后触发,但尚未在页面中编写HTML代码,以这种方式可以检查ShouldHighlight值(我转换为字符串因为我不知道该类型,如果你知道它是一个布尔值,你可以改变它)。
这个代码比megakemp代码运行得更快,因为你不是创建一个List对象,并且填充了每一行的整个数据源…
附:使用look at this website,您可以使用GridView对象为您的项目找到几个教程
asp.net Checbox在GridView中的应用实例分析
本文实例讲述了asp.net Checbox在GridView中的应用方法。分享给大家供大家参考,具体如下:
先看效果图:
前台代码:样式自己定义哦!
<div> <yxy:HkrGridView ID="tabGridView1" runat="server" AutoGenerateColumns="False" Width="100%" OnRowDataBound="HkrGridView1_RowDataBound" OnRowCreated="HkrGridView1_RowCreated" ShowHeader="True" AllowPaging="false" DataKeyNames="keyId" ShowFooter="false"> <Columns> <asp:BoundField> <ItemStyle HorizontalAlign="Center" Width="5%" /> </asp:BoundField> <asp:TemplateField> <ItemTemplate> <a href=''<%#DataBinder.Eval(Container.DataItem,"newName")%>'' ><%#DataBinder.Eval(Container.DataItem,"oldName")%></a> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="memo"> <ItemStyle Width="20%" HorizontalAlign="left" /> </asp:BoundField> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="CheckBox" runat="server" /> </ItemTemplate> <ItemStyle HorizontalAlign="Center" Width="5%" /> </asp:TemplateField> </Columns> <FooterStyle ForeColor="Red" HorizontalAlign="Center" Font-Bold="true" /> </yxy:HkrGridView> <div id="DivOne"> <asp:CheckBox ID="CheckBoxAll" runat="server" Text="全选" Width="80px" AutoPostBack="True" OnCheckedChanged="CheckBoxAll_CheckedChanged" /> <asp:CheckBox ID="CheckBox1" runat="server" Text="反选" Width="80px" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" /> <asp:Button ID="Button1" runat="server" Text="取 消" CssOnClick="Button1_Click" /> </div> </div>
后台代码:
protected void HkrGridView1_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { TableCellCollection tcHeader = e.Row.Cells; tcHeader.Clear(); //第一行表头 tcHeader.Add(new TableHeaderCell()); tcHeader[0].Text = "序号<BR>No."; tcHeader.Add(new TableHeaderCell()); tcHeader[1].Text = "附件名称"; tcHeader.Add(new TableHeaderCell()); tcHeader[2].Text = "备注"; tcHeader.Add(new TableHeaderCell()); tcHeader[3].Text = "选择</tr>"; } } protected void HkrGridView1_RowDataBound(object sender, GridViewRowEventArgs e) { GridViewRow gr = e.Row; if (e.Row.RowIndex != -1) { e.Row.Cells[0].Text = (e.Row.RowIndex + 1).ToString(); } } private void HkrGridViewBind(){ string strSql = "SELECT keyId,newName, oldName, localHome,memo FROM aq_file_up WHERE (relaid = @relaid) AND (fjType = @fjType) AND (usestatus = 1)"; SqlParameter[] sps = { new SqlParameter("@relaid",this.hdnRelaId.Value), new SqlParameter("@fjType",this.hdnFjType.Value) }; DataTable dt = pms.SqlHelper.ExecuteDataTable(CommandType.Text, strSql, sps); tabGridView1.DataSource = dt; tabGridView1.DataBind(); } rotected void Button1_Click(object sender, EventArgs e) { CheckBoxAll.Checked = false; CheckBox1.Checked = false; for (int i = 0; i <= tabGridView1.Rows.Count - 1; i++) { CheckBox cb = (CheckBox)tabGridView1.Rows[i].FindControl("CheckBox"); cb.Checked = false; } } protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i <= tabGridView1.Rows.Count - 1; i++) { CheckBox cb = (CheckBox)tabGridView1.Rows[i].FindControl("CheckBox"); if (cb.Checked == false) { cb.Checked = true; } else { cb.Checked = false; } } //CheckBox1.Checked =true; CheckBoxAll.Checked = false; } protected void CheckBoxAll_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i <= tabGridView1.Rows.Count - 1; i++) { CheckBox cb = (CheckBox)tabGridView1.Rows[i].FindControl("CheckBox"); if (CheckBoxAll.Checked == true) { cb.Checked = true; } else { cb.Checked = false; } } CheckBox1.Checked = false; }
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net操作json技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。
- asp.net实现固定GridView标题栏的方法(冻结列功能)
- 在ASP.NET 2.0中操作数据之六十四:GridView批量添加数据
- 在ASP.NET 2.0中操作数据之十:使用 GridView和DetailView实现的主/从报表
- ASP.NET数据绑定GridView控件使用技巧
- ASP.NET数据绑定之GridView控件
- ASP.NET中GridView的文件输出流方式
- ASP.NET中GridView、DataList、DataGrid三个数据控件foreach遍历用法示例
- asp.net GridView中使用RadioButton单选按钮的方法
- ASP.NET中GridView 重复表格列合并的实现方法
asp.net gridview中的datetime格式
08-19-2007 11:09 AM
解决方法
DataFormatString
。
<asp:BoundField datafield="YourDateField" HeaderText="SomeHeader" DataFormatString="{0:MM-dd-yyyy hh:mm tt}" />
或者,您可以使用DateFormatString =“{0:g}”,这是一般的日期/时间模式(短时间)。它会产生像08/19/2007 11:09 AM之类的东西
asp.net gridview复选框选择
我有一个gridview,在gridview里面我有一个复选框,点击复选框后,我正在做一个回发事件,并尝试仅在数据库上更新这个特定的行.
这是我的gridview复选框代码.看到OnCheckedChanged.
<asp:TemplateField HeaderText="Sample"> <ItemTemplate> <asp:CheckBox runat="server" ID="chkSample" Checked='<%# Bind("Sample") %>' OnCheckedChanged="UpdateSupplyLed" AutopostBack="True"> </asp:CheckBox> </ItemTemplate> </asp:TemplateField>
码:
protected void UpdateSupplyLed(object sender,EventArgs e) { foreach (GridViewRow di in SamplingGridView.Rows) { CheckBox chkBx = (CheckBox)di.FindControl("chkSample"); if (chkBx != null && chkBx.Checked) { //update database logic here. } } }
上面的代码工作正常,但它给我的所有复选框都被检查,而不管我刚检查的那个.我不想要所有这些.
如何才能获得刚刚检查过的唯一一行值.某些行可能已经被检查过,因为这些记录的状态为true,我不想更新这些记录.
我想我的问题是对的!
更新:答案是:
protected void UpdateSupplyLed(object sender,EventArgs e) { CheckBox chkSampleStatus = sender as CheckBox; bool sample = chkSampleStatus.Checked; GridViewRow row = chkSampleStatus.NamingContainer as GridViewRow; TextBox txtId = row.FindControl("Id") as TextBox; int id = Int32.Parse(txtId.Text); }
解决方法
CheckBox chkBx = sender as CheckBox;
而不是迭代所有行.
我自己没有以这种方式在GridView中使用CheckBox.通常我会使用GridView的OnRowCommand事件,并使用RowIndex或CommandArgument值来更新数据库.
考虑一下OnRowcommand对于CheckBox来说可能很棘手,一个更好的解决方案可能是坚持使用复选框的CheckChanged事件并使用控件NamingContainer导航到GridViewRow服务器端.就像是:
GridViewRow row = chkBx.NamingContainer as GridViewRow;
我假设去了CheckBox => Cell =>如果您使用Google ASP.NET NamingContainer,您将获得更多细节.
asp.net – GridView中的TemplateField标题
<asp:GridView ID="CustomersGridView" runat="server" AutoGenerateColumns="False" > <Columns> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("FirstName") + " " + Eval("LastName") %>' NavigateUrl="CarTest.aspx" > </asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
解决方法
<Columns> <asp:TemplateField> <ItemTemplate> .................... </ItemTemplate> <HeaderTemplate> Full Name </HeaderTemplate> </asp:TemplateField> </Columns>
有关更多信息,请访问read.
今天关于asp.net – 选择性地将CSS应用于gridview中的一行和css怎么应用到html的讲解已经结束,谢谢您的阅读,如果想了解更多关于asp.net Checbox在GridView中的应用实例分析、asp.net gridview中的datetime格式、asp.net gridview复选框选择、asp.net – GridView中的TemplateField标题的相关知识,请在本站搜索。
本文标签: