none
关于Gridview的问题 RRS feed

  • 问题

  • gridview控件中有一列是资产类别列,我在数据库中存储为,key和value,如key=办公用品,value=1;key=电脑,value=2;可gridview显示的是value的值,听别人说该在gridview上写个映射,当读取到1的时候就转化为电脑。请问这个映射该怎么写,谢谢。
    • 已移动 肖小勇Moderator 2009年8月7日 2:23 ASP.NET 相关问题 (发件人:.NET Framework 一般性问题讨论区)
    2009年8月7日 2:01

答案

  • 在 ItemDataBond 中获取某一个 Cell 的值,判断是否为 1, 若是将这个Cell 的Text 替换成电脑, 如下面的代码
    private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataRowView fRowView = (DataRowView)e.Item.DataItem;
    
            int sex = (Int32)fRowView["FSex"];
            e.Item.Cells[0].Text = (sex == 0 ? "男" : "女");
        }
    }


    知识改变命运,奋斗成就人生!
    2009年8月7日 2:10
    版主
  • 你好也可以直接在sql语句中转换 如
    select case FSex when '0' then '男' when  '1' then '女' end as FSexString

    那么可以在绑定的时候设置Column的DataValueField为FSexString就可以了
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月7日 2:18
    版主

全部回复

  • 在 ItemDataBond 中获取某一个 Cell 的值,判断是否为 1, 若是将这个Cell 的Text 替换成电脑, 如下面的代码
    private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataRowView fRowView = (DataRowView)e.Item.DataItem;
    
            int sex = (Int32)fRowView["FSex"];
            e.Item.Cells[0].Text = (sex == 0 ? "男" : "女");
        }
    }


    知识改变命运,奋斗成就人生!
    2009年8月7日 2:10
    版主
  • 你好也可以直接在sql语句中转换 如
    select case FSex when '0' then '男' when  '1' then '女' end as FSexString

    那么可以在绑定的时候设置Column的DataValueField为FSexString就可以了
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月7日 2:18
    版主
  • 楼主你好!如果你的问题已解决请把正确的答案标记为答复,其它人遇到相似的问题也可以通过你的帖子知道答案。
    知识改变命运,奋斗成就人生!
    2009年8月7日 4:09
    版主
  • 楼主你好!如果你的问题已解决请把正确的答案标记为答复,其它人遇到相似的问题也可以通过你的帖子知道答案。
    知识改变命运,奋斗成就人生!
    你好我是想看一下有没有其它的方法,不是故意不标记为答案的。
    2009年8月7日 4:29