日期:2014-05-17  浏览次数:21235 次

请问,时间戳问题
我在客户表中创建了一个时间戳列,用于开放式并发。可是在绑定的DataGridView网格控件中,时间戳列显式给用户多别扭啊?可不可以不显示时间戳列给用户呢?这种情况是怎么处理的?
BindingSource绑定到客户表,DataGridView又绑定到BindingSource,难道时间戳必须显式给用户看么?

------解决方案--------------------
DataGridView 可以自定义要显示哪些列的吧
------解决方案--------------------
DataGridView1.Columns["列名"].Visible = false;
------解决方案--------------------
不要自动绑定,手动添加你需要的列。
------解决方案--------------------
隐藏掉
就可以了吧
------解决方案--------------------
3楼所说的手工绑定是指你在设计时就把要显示的例添加到datagridview里,把显示例的数据项设为datatable里的例名。


还有一种绑定就是你直接绑定datatable或是bindingsource,再通过代码来更改是否显示特定例。

参照下面方法:
protected void Init_Dgv_Show_ColumnInfor(DataGridView dgv)
{
for (int count = 0; count < dgv.Columns.Count; count++)
{
if (dgv.Columns[count].HeaderText.Trim().ToLower() == "unit_ch_name")
{
dgv.Columns[count].HeaderText = "计量名称";
dgv.Columns[count].DisplayIndex = 0;
continue;
}
else if (dgv.Columns[count].HeaderText.Trim().ToLower() == "unit_en_name")
{
dgv.Columns[count].HeaderText = "英文名称";
dgv.Columns[count].DisplayIndex = 1;
continue;
}
else if (dgv.Columns[count].HeaderText.Trim().ToLower() == "unit_ch_name_key")
{
dgv.Columns[count].HeaderText = "中文简写";
dgv.Columns[count].DisplayIndex = 2;
continue;
}
else if (dgv.Columns[count].HeaderText.Trim().ToLower() == "unit_remarks")
{
dgv.Columns[count].HeaderText = "备注";
dgv.Columns[count].DisplayIndex = 3;
continue;
}
else if (dgv.Columns[count].HeaderText.Trim().ToLower() == "unit_time")
{
dgv.Columns[count].HeaderText = "时间";
dgv.Columns[count].DisplayIndex = 4;
continue;
}
else
{
dgv.Columns[count].Visible = false;//不显示的例
continue;
}
}
}
------解决方案--------------------
可以隐藏列!
------解决方案--------------------
可以隐藏或手动绑定列