GridView中的CheckBox如何绑定数据?
假设GridView数据源绑定一个DataTableGridView中有一列为CheckBox,它对应DataTable中的列是一个布尔值那么如何让GridView绑定D...
假设GridView数据源绑定一个DataTable
GridView中有一列为CheckBox,它对应DataTable中的列是一个布尔值
那么如何让GridView绑定DataTable时根据这个布尔值,来选定这个CheckBox的状态? 展开
GridView中有一列为CheckBox,它对应DataTable中的列是一个布尔值
那么如何让GridView绑定DataTable时根据这个布尔值,来选定这个CheckBox的状态? 展开
6个回答
展开全部
一楼的做法也可以实现,但是麻烦了点
直接用绑定可以实现,并不复杂,但也没有二楼说得那么简单
对于sqlserver数据库,通常用1来表示真,0表示假
GridView中有一列为CheckBox,添加了CheckBox后,编辑模板列,编辑DataBindings选择checked那一项,然后填上Convert.ToBoolean(Eval("bool"))
这样就实现了1为选中状态,0为未选中状态
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Convert.ToBoolean(Eval("bool")) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("bool", typeof(int));
DataRow dr0 = dt.NewRow();
dr0["bool"] = 1;
dt.Rows.Add(dr0);
DataRow dr1 = dt.NewRow();
dr1["bool"] = 0;
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2["bool"] = 1;
dt.Rows.Add(dr2);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
}
老实说我也第一次遇到这个问题,现帮你解决了,试验已通过,共同进步,呵呵!
直接用绑定可以实现,并不复杂,但也没有二楼说得那么简单
对于sqlserver数据库,通常用1来表示真,0表示假
GridView中有一列为CheckBox,添加了CheckBox后,编辑模板列,编辑DataBindings选择checked那一项,然后填上Convert.ToBoolean(Eval("bool"))
这样就实现了1为选中状态,0为未选中状态
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Convert.ToBoolean(Eval("bool")) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("bool", typeof(int));
DataRow dr0 = dt.NewRow();
dr0["bool"] = 1;
dt.Rows.Add(dr0);
DataRow dr1 = dt.NewRow();
dr1["bool"] = 0;
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2["bool"] = 1;
dt.Rows.Add(dr2);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
}
老实说我也第一次遇到这个问题,现帮你解决了,试验已通过,共同进步,呵呵!
展开全部
直接点击 CheckBox 又上角的 > 这个小按钮 点击 编辑dataBindings 左面选择Checked 右面选择要绑定的列。
如果这样不行 就把表达式 改成<%# Convert.ToBoolean(Eval("列名")) %>
如果这样不行 就把表达式 改成<%# Convert.ToBoolean(Eval("列名")) %>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在checkbox的那一列里面设一个隐藏列,将这个Bool值绑在这个隐藏列上面,gridview有一个Row的绑定事件,具体名字记不起来了,可以到事件里面去找一下,在这个事件里面去取这个隐藏列的值,然后再给CheckBox确定是否选中就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataTable中对应的数据列的数据类型必须为布尔型。GridView中CheckBox列的dadasourse设为该列名称就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在rowdatabind() 事件中写
这是GridView的事件
这是GridView的事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询