datagridview,列里自定义显示内容怎么搞?
比如有一个sex列,类属性本身为int型,如果它为1,则在datagridview显示为男,为2显示为女,为0显示为未定义。
原来弄过,现在忘记了,也一直找不到是哪个事件,哪位高人提示一下。

解决方案 »

  1.   

    你可以取记录的时候修改~~~
    select case when sex=1
    then
     '男'
    else
    '女'
    end
    as 'sex'
    from Table
      

  2.   

    1.取记录是可以搞定,同时也可以加一个属性,即SexName,直接取SexName值,不过这样麻烦
    2.DataGridViewComboBoxCell 也可以搞定,让它自己选择,这样需要一个词典。
    我印象当中好像直接修改DisplayText就可以搞定,值是没有变,忘记怎么弄了
      

  3.   

     <asp:TemplateField HeaderText="性别">
                          <EditItemTemplate>
                              <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Sex") %>'></asp:TextBox>
                          </EditItemTemplate>
                          <ItemTemplate>
                              <asp:Label ID="Label1" runat="server" Text='<%#Eval("Sex").ToString()=="0"?"未定义":Eval("Sex").ToString()=="1"?"男":"女"%>'></asp:Label>
                          </ItemTemplate>
                      </asp:TemplateField>
      

  4.   

    谢谢4楼,这种方法在web开发可行。
    winform这样弄不行。