如题,这个gridview不是绑定数据库中的数据,而是自定义一些列,实现某些操作还有就是表头中有一个checkbox,可以全选列中的checkbox,不是绑定的数据库中的数据,怎么显示这个gridview当不选列中某一个checkbox时,可以输入信息(要有一个textbox)最后遍历,实现写入到数据库中,说说实现思路,能贴点代码更好,谢谢。

解决方案 »

  1.   

    都是要绑定的吧,只不过你可以动态添加datatable,到时要更新回数据库,就是遍历你添加的datatable啦,其实就是在程序中建个虚表,都是对这个虚表进行操作而已
      

  2.   

    Gridview用法大总结下载源代码后,里面有个"结合控件",好好研究和享受吧
      

  3.   

    全选checkbox这个容易,遍历gridview 找到每行的checkbox控件将其checked属性设置为true
    没选中的  textbox可以输入  这个也好办,在checkbox控件上绑定onclick事件,如果点击了判断控件checked状态为false 则找到控件同行的textbox 将其设为可写  如果状态为true 则将textbox设置为只读
      

  4.   

    列中没有绑定数据,只有checkbox,怎么显示这个gridview?
      

  5.   

    不帮数据库里面的数据   那就 直接绑定文本框的 值呗..  textcheckbox 它==1的时候 改干嘛  !==1 的时候又干嘛  
    这些 应该都会吧..
      

  6.   

                           <asp:TemplateField HeaderText="合格">
                                    <HeaderTemplate>
                                        合格
                                        <asp:CheckBox ID="chblengthl" runat="server" AutoPostBack="True" />
                                    </HeaderTemplate>
                                    <ItemTemplate>
                                        <asp:CheckBox ID="cbC" runat="server"   />
                                    </ItemTemplate>
                                </asp:TemplateField>就比如我的gridview要显示这种形式,怎么使gridview可以显示出来(没有绑定数据)
      

  7.   

    <ItemTemplate>
    <asp:TextBox id="TextBox_name" runat="server"   MaxLength="100" CssClass="inputText" Text='<%# Eval("Name") %>' Width="90%">
    </asp:TextBox>
    </ItemTemplate>
    foreach(GridViewRow gr in this.GridView1.Rows)
    {
    TextBox txt=gr.FindControl("TextBox_name") as TextBox;
    }
    或自定义模板列ITemplate
    public class GridViewTextTemplate : System.Web.UI.ITemplate
      {
      private DataControlRowType templateType;
      private string columnName;
      private string Id;
      public GridViewTextTemplate(DataControlRowType type, string colname, string controlId)
      {
      templateType = type;
      columnName = colname;
      Id = controlId;
      }
      public void InstantiateIn(System.Web.UI.Control container)
      {
      switch (templateType)
      {
      case DataControlRowType.Header:
      myHeadLiteral.ID = Id;
      myHeadLiteral.Text = columnName;
      container.Controls.Add(myHeadLiteral);
      break;
      case DataControlRowType.DataRow:
      TextBox txt= new TextBox();
      txt.ID = cId;
      txt.DataBinding += new EventHandler(this.TextBoxDataBinding);
      container.Controls.Add(txt);
      break;
      default:
      break;
      }
      }
      private void TextBoxDataBinding(Object sender, EventArgs e)
      {
      TextBox txt= (TextBox)sender;
      GridViewRow row = (GridViewRow)txt.NamingContainer;
      txt.Text = System.Web.UI.DataBinder.Eval(row.DataItem, columnName).ToString();
      }
      }
      void Page_Load(Object sender, EventArgs e)
      {
      if (!IsPostBack)
      {
      TemplateField tf;
      tf= new TemplateField();
      tf.ItemTemplate = new GridViewTextTemplate(DataControlRowType.DataRow, "", "");
      tf.HeaderTemplate = new GridViewTextTemplate(DataControlRowType.Header, "", "");
      GridView1.Columns.Add(tf);
      }  }
      

  8.   

    啥功能都先不管了,我要显示出来,所有的列都没有绑定字段,但是我要把这个gridview显示出来,gridview的列里面也就是写checkbox和textbox之类的。
      

  9.   

    我想这个功能,网上是有现成的例子的,你可以定义一列模板,中放的是checkbox,然后你就可以,编写代码触发那个checkbox选中的事件,最后再遍历那个Gridview来找到选中的checkbox,不就可以了啊。
      

  10.   


    现在的情况是gridview没有任何一列绑定了数据(事实上也没有必要),关键的问题是究竟怎样把这个没有数据源的gridview显示出来????
      

  11.   

    如果你 建 立了虚表,而且这个虚表里面也有数据的话,要在gridview中显示,只要把该虚表作为gridview的数据源,让gridveiw自动生成列就行了,如果你要绑定到特定的控件上的话,这个虚表,你建的时候也有列名,也可以实现绑定的
      

  12.   


    有点不明白,不过还是谢谢你这个gridview的用法有点特别,没有数据源,不是show数据的,而是存储数据的,我也仅仅虚拟了一个datatable添加相应的列作为数据源,把gridview显示在页面上还有就是gridview列中既有checkbox又有textbox,根据checkbox的选中与否决定textbox是否输入数据之后把gridview中的数据存储起来,现在对数据的存储就没辙了我也是刚刚接触asp.net,对gridview的认识极其有限,做起来异常的吃力。