我把原来的列“Sex”隐藏起来,又新建了一列“showSex”。这样子之后,调试什么的都很正常,值什么的都有。但是就是不在datagridview里显示??
foreach (DataGridViewRow r in dgv1.Rows)
{
if (Convert.ToBoolean(r.Cells["Sex"].Value) == true)
{
r.Cells["showSex"].Value = "男";
}
else
{
r.Cells["showSex"].Value= "女";
}
}
你是怎么新建一列“showSex”的?
用代码 this.datagridview1.Columns.Add("showSex","性别");
@lz995: dgv1.Rows this.datagridview1 你foreach中的datagrid的id和你Columns.Add中的id不一样啊,它们操作的不是同一个datagrid呀
@田林九村: 我弄的是一样的。。我怕你不知道我的dgv1是什么~~~
@lz995: 嗯,我知道了,不绑定的列是不显示的,你应该在数据绑定前处理
@田林九村: 我试试
@lz995: why not
@田林九村: 绑定之前写这段代码
foreach (DataGridViewRow r in dgv1.Rows)
{
if (Convert.ToBoolean(r.Cells["Sex"].Value) == true)
{
r.Cells["showSex"].Value = "男";
}
else
{
r.Cells["showSex"].Value= "女";
}
} 根本就没绑定呢,怎么会有这些列呢 哪有的ID呢
DataGridView.Rows[i].Cells["index"].Value.ToString() == "Ture" ? "男" : "女";
绑定的时候直接搞定不久行了
<asp:TemplateField HeaderText="客户电话">
<ItemTemplate>
<asp:Label Text='<%# Eval("index").ToString()== "Ture" ? "男" : "女" %>' runat=server ID = "lblTel" ></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="10%" />
</asp:TemplateField>