C#读取oracle数据问题
请问我从oracle中读出一字段,只有0或1这两种数字,我想通过判断0或1来给GridView表中的一个字段里的CheckBox作选中和不选中状态 --------------------编程问答-------------------- 试试CellFormatting事件 --------------------编程问答-------------------- 试试 (bool)字段名 --------------------编程问答-------------------- Oracle里没有Bool这个类型啊--------------------编程问答-------------------- Checked='<%#DataBinder.Eval(Container.DataItem,"数据库字段").ToString()=="1"%>'> --------------------编程问答-------------------- 在页面加一下就可以了 --------------------编程问答-------------------- 我的办法比较笨,希望对你有用。就是把那一列转换为模板列,删除原来的控件,添加一个label和一个checkBox,
label单向绑定那个字段。运行时的代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label lbl1;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Edit || (e.Row.RowState == (DataControlRowState)5))
{
lbl1 = (Label)e.Row.Cells[6].Controls[1];
lbl1.Visible = false;
CheckBox cb1 = (CheckBox)e.Row.Cells[6].Controls[3];
try
{
int i1 = int.Parse(lbl1.Text);
if (i1 > 0) cb1.Checked = true;
else cb1.Checked = false;
}
catch
{
cb1.Checked = false;
}
}
}
} --------------------编程问答-------------------- 呵呵,忘记了,上面是在编辑的时候改状态,你可以修改一下用在显示的时候。 --------------------编程问答-------------------- 直接绑定上去就可以了.
<Columns>
<asp:TemplateField>
<HeaderStyle CssClass="CheckColumn" />
<ItemStyle CssClass="CheckColumn" />
<ItemTemplate>
<asp:CheckBox ID="asp_chbIsChecked" Checked='<%# DataBinder.Eval(Container, "DataItem.IsChecked") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField></Columns>
后台绑定就行了. --------------------编程问答-------------------- 推荐楼上 --------------------编程问答-------------------- 试了一下,4楼正解。
补充:.NET技术 , C#