GVKun编程网logo

asp.net – 选择性地将CSS应用于gridview中的一行(css怎么应用到html)

7

针对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 – 选择性地将CSS应用于gridview中的一行(css怎么应用到html)

我正在寻找一种方法来根据数据绑定项的属性选择性地将CSS类应用于GridView中的各个行。

例如。:

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中的应用实例分析

本文实例讲述了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格式

asp.net gridview中的datetime格式

我需要在gridview中显示一个datetime列,但我不希望显示毫秒。如何在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复选框选择

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.net – GridView中的TemplateField标题

当我使用超链接创建“TemplateField”时,如何在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标题的相关知识,请在本站搜索。

本文标签: