比如数据库里列保存的是“1”或“0”,我要显示“是”或“否”,我有一个方法string DataStringFormat(string getData)返回相应汉字字符的,请问如何设置DataGridView列应用这一方法,最好是设置方式而不是编码方式。
解决方案 »
- 求个算法
- 在WinFrom中如何通过Http协议Get、Post向服务器获取数据..
- 如何把秒以后的时刻(分秒)写入数据库SQL server?
- 对winform中的文本框输入的值作限制???用正则表达式吗?
- 怎样获得HTML中某一个<Table>中的code?
- 如何将xml文档的内容读出,显示在文本框内
- 如何在winform程序中获得打开页面的加载速度 求kb/s! 高手进
- 重新提问:关于 .Fous()这个函数 (刚才哪个大哥说我问题多并且描述不清)
- 求问asp.net这个图形应该使用什么控件来实现
- 简单问题。。。。。。。。。在命名空间里增加了一个类,如何删除它?
- 请问C#WinForm如何编倒计时程序
- [在线等]请教一下使用正版数据库的问题!
如果是多元的话可以在后台写个方法:
public string changstr(string test)
{
if(test=="1")
{
return "是";
}
if(test=="0")
{
return "否";
}
....(其它)}前台调用:
<%# changstr(Convert.ToString(DataBinder.Eval(Container.DataItem,"flag")))%>...
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
try
{
if (dataGridView1.Columns[e.ColumnIndex].HeaderText == "过荷保护")
{
if (e.Value.ToString() == "0")
{
e.Value = "状态0";
}
else if (e.Value.ToString() == "1")
{
e.Value = "状态1";
}
}
}
catch { }
}
虽然达到了我要的效果,但是表格数据一旦比较庞大,花费的时间就会成倍增加。我想要的就是类似web里面的那种方法,但是在winform里就不知道该如何去搞了
/// 設置datagridview中某個欄位為CheckBox
/// </summary>
/// <param name="iColumn">需要更改的欄位號</param>
public void SetCheckBoxColumns(int iColumn, string iColName)
{
this.dataGridView1.Columns.RemoveAt(iColumn);
DataGridViewCheckBoxColumn checkboxColumn = new DataGridViewCheckBoxColumn();
checkboxColumn = CreateCheckBoxColumn(iColName);
this.dataGridView1.Columns.Insert(iColumn, checkboxColumn);
} /// <summary>
/// 取得datagridview中一個CheckBox欄位的屬性 /// </summary>
/// <returns>格式化以後的datagridview的CheckBoxColumn</returns>
public virtual DataGridViewCheckBoxColumn CreateCheckBoxColumn(string iCol)
{
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
column.DataPropertyName = iCol;
column.ThreeState = false;
column.TrueValue = "Y";
column.FalseValue = "N";
column.HeaderText = ResourceFactory.GetMultilanguage(iCol);
}
return column;
}
1、查询语句用
select (case flag when 1 then '是' when 0 then '否' end) as Flag from table;
2.在程序加载数据的时候判断,替换,