gridview不是绑定数据库中的字段,而是自定义为checkbox+textbox,textbox等,怎么显示? 如题,这个gridview不是绑定数据库中的数据,而是自定义一些列,实现某些操作还有就是表头中有一个checkbox,可以全选列中的checkbox,不是绑定的数据库中的数据,怎么显示这个gridview当不选列中某一个checkbox时,可以输入信息(要有一个textbox)最后遍历,实现写入到数据库中,说说实现思路,能贴点代码更好,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 都是要绑定的吧,只不过你可以动态添加datatable,到时要更新回数据库,就是遍历你添加的datatable啦,其实就是在程序中建个虚表,都是对这个虚表进行操作而已 Gridview用法大总结下载源代码后,里面有个"结合控件",好好研究和享受吧 全选checkbox这个容易,遍历gridview 找到每行的checkbox控件将其checked属性设置为true没选中的 textbox可以输入 这个也好办,在checkbox控件上绑定onclick事件,如果点击了判断控件checked状态为false 则找到控件同行的textbox 将其设为可写 如果状态为true 则将textbox设置为只读 列中没有绑定数据,只有checkbox,怎么显示这个gridview? 不帮数据库里面的数据 那就 直接绑定文本框的 值呗.. textcheckbox 它==1的时候 改干嘛 !==1 的时候又干嘛 这些 应该都会吧.. <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可以显示出来(没有绑定数据) <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;}或自定义模板列ITemplatepublic 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); } } 啥功能都先不管了,我要显示出来,所有的列都没有绑定字段,但是我要把这个gridview显示出来,gridview的列里面也就是写checkbox和textbox之类的。 我想这个功能,网上是有现成的例子的,你可以定义一列模板,中放的是checkbox,然后你就可以,编写代码触发那个checkbox选中的事件,最后再遍历那个Gridview来找到选中的checkbox,不就可以了啊。 现在的情况是gridview没有任何一列绑定了数据(事实上也没有必要),关键的问题是究竟怎样把这个没有数据源的gridview显示出来???? 如果你 建 立了虚表,而且这个虚表里面也有数据的话,要在gridview中显示,只要把该虚表作为gridview的数据源,让gridveiw自动生成列就行了,如果你要绑定到特定的控件上的话,这个虚表,你建的时候也有列名,也可以实现绑定的 有点不明白,不过还是谢谢你这个gridview的用法有点特别,没有数据源,不是show数据的,而是存储数据的,我也仅仅虚拟了一个datatable添加相应的列作为数据源,把gridview显示在页面上还有就是gridview列中既有checkbox又有textbox,根据checkbox的选中与否决定textbox是否输入数据之后把gridview中的数据存储起来,现在对数据的存储就没辙了我也是刚刚接触asp.net,对gridview的认识极其有限,做起来异常的吃力。 有友有如下分页样式的思路没?来看看? 关于VS2008的最小安装 vs2008新增代码段 如何将下列代码改为aspx与C#各自存放一个文件(即:C#单独保存一文件) 急救啊 哎,越用越迷茫,前台后台分开,都不知道该怎么开发asp.net了. 从stream到服务器文件 .net2.0对WORD的操作,本地上Ok,挂伺服器就报黄页,请高手指点 在线等一个关于调试的问题 请问怎么样动态的使datagrid增加一列?? 求如何给IE添加导航按钮 asp.net中DropdownList 中的数据怎么删除 在中文的 xp 2003上正常 在英文2003系统 出现‘未将对象引用设置到对象的实例’
没选中的 textbox可以输入 这个也好办,在checkbox控件上绑定onclick事件,如果点击了判断控件checked状态为false 则找到控件同行的textbox 将其设为可写 如果状态为true 则将textbox设置为只读
这些 应该都会吧..
<HeaderTemplate>
合格
<asp:CheckBox ID="chblengthl" runat="server" AutoPostBack="True" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbC" runat="server" />
</ItemTemplate>
</asp:TemplateField>就比如我的gridview要显示这种形式,怎么使gridview可以显示出来(没有绑定数据)
<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);
} }
现在的情况是gridview没有任何一列绑定了数据(事实上也没有必要),关键的问题是究竟怎样把这个没有数据源的gridview显示出来????
有点不明白,不过还是谢谢你这个gridview的用法有点特别,没有数据源,不是show数据的,而是存储数据的,我也仅仅虚拟了一个datatable添加相应的列作为数据源,把gridview显示在页面上还有就是gridview列中既有checkbox又有textbox,根据checkbox的选中与否决定textbox是否输入数据之后把gridview中的数据存储起来,现在对数据的存储就没辙了我也是刚刚接触asp.net,对gridview的认识极其有限,做起来异常的吃力。