积极答复者
DataGridView 控件为什么不能直接显示byte[]数据

问题
答案
-
你是怎么绑定的,你可以把数据读出来,
然后把每一行的byte类型转换为字符串,使用for循环赋值给 datagridview中每一行的单元格
努力+方法=成功- 已标记为答案 mldarkMember 2010年6月21日 0:26
-
你好!
是这样的,你使用DataGridView绑定数组的时候,默认显示的是数组元素的第一个公共属性,你这里显示的就是byte的第一个公共属性,byte并没有这样的属性,所以就什么也没有显示了!
你可以另外定义一个类来包装byte,给这个类定义一个公共属性,显示合适的值,然后绑定这个类的数组!
周雪峰- 已标记为答案 mldarkMember 2010年6月21日 0:26
全部回复
-
你是怎么绑定的,你可以把数据读出来,
然后把每一行的byte类型转换为字符串,使用for循环赋值给 datagridview中每一行的单元格
努力+方法=成功- 已标记为答案 mldarkMember 2010年6月21日 0:26
-
你好!
是这样的,你使用DataGridView绑定数组的时候,默认显示的是数组元素的第一个公共属性,你这里显示的就是byte的第一个公共属性,byte并没有这样的属性,所以就什么也没有显示了!
你可以另外定义一个类来包装byte,给这个类定义一个公共属性,显示合适的值,然后绑定这个类的数组!
周雪峰- 已标记为答案 mldarkMember 2010年6月21日 0:26
-
以下是我的绑定代码
DataSet ds = new DataSet();
DataTable dtinfo = new DataTable();try
{
conn.Open();
OracleCommand MyCommand = new OracleCommand("select A, B, C from test", conn);
OracleDataAdapter MyAdapter = new OracleDataAdapter();
MyAdapter.SelectCommand = MyCommand;
MyAdapter.Fill(dtinfo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}bindingSource1.DataSource = dtimfo;
bindingNavigator1.BindingSource = bindingSource1;
dataGridView1.DataSource = bindingSource1;其中test表的A,B字段为varchar2类型,C字段是raw类型,
我是C#新手,请各位帮忙解决问题。