自动填充固定行数的 GridView

自动填充固定行数的 GridView,第1张

在有些开发实践中 有时候为了页面美观的需要 需要将GridView填充成固定行数的表格 下面这个方法实现了这种填充的功能 此方法可以处理自动产生列和模版列 注意 由于时间关系 没有实现对完全空白数据的填充 呵呵 如果需要 可以自己添加哈 )!

<%@ Page Language= C# %><!DOCTYPE  PUBLIC  //W C//DTD XHTML   Transitional//EN   transitional dtd ><script runat= server >  // 计算数据 完全可以从数据看取得  ICollection CreateDataSourceByXianhuiMeng()  {    System Data DataTable dt = new System Data DataTable()    System Data DataRow dr    dt Columns Add(new System Data DataColumn( 学生班级  typeof(System String)))    dt Columns Add(new System Data DataColumn( 学生姓名  typeof(System String)))    dt Columns Add(new System Data DataColumn( 语文  typeof(System Decimal)))    dt Columns Add(new System Data DataColumn( 数学  typeof(System Decimal)))    dt Columns Add(new System Data DataColumn( 英语  typeof(System Decimal)))    dt Columns Add(new System Data DataColumn( 计算机  typeof(System Decimal)))    for (int i =   i <   i++)    {      System Random rd = new System Random(Environment TickCount * i)       dr = dt NewRow()      dr[ ] =  班级  + i ToString()      dr[ ] =  【孟子E章】  + i ToString()      dr[ ] = System Math Round(rd NextDouble() *    )      dr[ ] = System Math Round(rd NextDouble() *    )      dr[ ] = System Math Round(rd NextDouble() *    )      dr[ ] = System Math Round(rd NextDouble() *    )      dt Rows Add(dr)    }    System Data DataView dv = new System Data DataView(dt)    return dv  }  // 设置每页显示的行数    int TotalRowCount =    // 自动填充的行数  int numCount =    protected void Page_Load(object sender  EventArgs e)  {    if (!Page IsPostBack)    {      GridView DataSource = CreateDataSourceByXianhuiMeng()      GridView DataBind()    }  }  protected void GridView _RowDataBound(object sender  GridViewRowEventArgs e)  {    if (e Row RowType == DataControlRowType DataRow)    {      // 计算自动填充的行数      numCount++    }    if (e Row RowType == DataControlRowType Footer)    {      // 计算完毕 在此添加缺少的行      int toLeft = TotalRowCount   numCount      int numCols = GridView Rows[ ] Cells Count      for (int i =   i < toLeft i++)      {        GridViewRow row = new GridViewRow(    DataControlRowType EmptyDataRow  DataControlRowState Normal)        for (int j =   j < numCols j++)        {          TableCell cell = new TableCell()          cell Text =  &nbsp          row Cells Add(cell)        }        GridView Controls[ ] Controls AddAt(numCount +   + i  row)      }    }  } </script>< xmlns= ><head runat= server >  <title>自动填充固定行数的 GridView</title></head><body>  <form id= form  runat= server >    <asp:GridView ID= GridView  runat= server  OnRowDataBound= GridView _RowDataBound       Font Size= px  CellPadding= >      <HeaderStyle BackColor= #EDEDED  />      <Columns>        <asp:TemplateField HeaderText= 模版列 >          <ItemTemplate>            <%#Eval( 学生姓名 ) %>          </ItemTemplate>        </asp:TemplateField>      </Columns>    </asp:GridView>  </form></body></>lishixinzhi/Article/program/net/201311/12482

点gridview

编辑列,添加templatefield,位置可以自己调动,确定,再点编辑模板,在模板的itemtemplate中丢入button控件,这样就能自动生成每行的按钮,如果是你想做成删除按钮

把button的属性commandargument="delete",它是激活gridview

的rowdeleting事件!设置gridview

属性

datakeynames

:"你要获取的字段值",如:id

你添加gridview

rowdeleting事件后

gridview1.datakeys[e.rowindex].value.tostring()就能获取该行的id值!然后就是删除语句了~

1、点击添加,实例化一个DataGridView的行对象DataRow 然后把这个对象添加到DataGridView中,你的DataGridView要是可编辑状态,然后编辑数据,点保存循环读取DataGridView的行数据,存到实体类中,在通过后台SQL保存到数据库。

2、将datagridview于数据库中对应的表进行绑定,绑定完成之后直接在datagridview中进行添加就可以,自动在数据库中添加并保存。

3、创建一个表结构,每次新增的时候往表里面加一条记录,然后DataGridView再绑定表就可以了。保存的时候连接数据库+sql就完成了。

4、就是正常的添加就可以了啊。首先连接数据库 而后插入数据库的表。

5、gridview没有自带这种功能,只自带了,编辑删除(也可能是我不知道,我没用过直接可以添加一行新的)你可以模仿一个这样的功能,用js动态添加一行textbox,每个字段对应一个,你把数据添加后,点击保存,就ok了,当然你的动态添加的textbox要在gridview下面,样式要对齐,感觉上是gridview添加了一行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11468794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存