if (string.Compare(strTemp,dg.Items[j].Cells[compareColumn].Text) == 0) 
为什么在判断的时候为什么总是相等啊,明明数据库中有不同的列,可是总是判断不了始终为0

解决方案 »

  1.   

    dg.Items[j].Cells[compareColumn].Text 这个地方 的comparecolumn有问题吧 超出界限没有值导致的吧
      

  2.   

    应该是dg.Rows[j].Cells[compareColumn].Value.toString()
      

  3.   


    for(int i=0;i<dg.Items.Count;i++)
       {
        if (dg.Items[i].Cells[3].Text.Trim()=="0" && dg.Items[i].Cells[4].Text.Trim()=="0" )
        {
         dg.Items[i].Cells[2].ColumnSpan=3;
         dg.Items[i].Cells[3].Visible=false;
         dg.Items[i].Cells[4].Visible=false;
        }
      }private void spanRow(DataGrid dg,int GroupColumn,int compareColumn) 
            { 
                int i = 0; 
                int j = 0; 
                int rowSpan; 
                string strTemp = ""; 
                for(i=0;i<dg.Items.Count;i++) 
                { 
                    rowSpan = 1; 
                    strTemp = dg.Items[i].Cells[compareColumn].Text; 
                    for (j=i+1;j<dg.Items.Count;j++) 
                    { 
                        if (string.Compare(strTemp,dg.Items[j].Cells[compareColumn].Text) == 0) 
                        { 
                            rowSpan += 1; 
                            dg.Items[i].Cells[GroupColumn].RowSpan = rowSpan; 
                            dg.Items[j].Cells[GroupColumn].Visible = false; 
                        } 
                        else 
                        { 
                            break; 
                        } 
                    } 
                    i = j -1; 
                } 
            } 
      

  4.   

    就是if语句判断的那句,始终都是相等,即使我人为设定dg.Items.Count数值,也是相等,情高手帮帮忙,着急,弄了两天了