private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item )
{
Label lb=(Label)e.Item.Cells[5].FindControl("Label1");
DataRowView drv=(DataRowView)e.Item.DataItem;
string Current=drv["dutytime"].ToString();

switch(Current)
{
case "12":
lb.Text="夜";
break;
case "0":
lb.Text="日";
break;
//case "24":
default:
lb.Text="全天";
break; }

}
这段代码只改变了datagrid中的第一条记录,其它的都没变

解决方案 »

  1.   

    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem )
      

  2.   

    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem )
    {
    Label lb=(Label)e.Item.Cells[5].FindControl("Label1");
    DataRowView drv = (DataRowView)Item;
                                         string Current = (string)drv["dutytime"];

    switch(Current)
    {
    case "12":
    lb.Text="夜";
    break;
    case "0":
    lb.Text="日";
    break;
    //case "24":
    default:
    lb.Text="全天";
    break; }

    }
      

  3.   

    但里面我在编辑时也对其进行了处理:
    if(e.Item.ItemType==ListItemType.EditItem )
    {
    DropDownList ddl=(DropDownList)e.Item.Cells[5].FindControl("dutytime0");

    DataRowView drv = (DataRowView)e.Item.DataItem;
    string CurrentSubTeam=drv["dutytime"].ToString();


    ddl.SelectedIndex=ddl.Items.IndexOf(ddl.Items.FindByValue(CurrentSubTeam));


    }
    如果用xulovewei的方法,显示的时候没问题了,但编辑的时候就出错了