for(int i=0;i<this.MyGrid.Items.Count;i++)
{
for(int j=1;j<this.MyGrid.Columns.Count;j++)
{
if(ds.Tables[0].Rows[i]["Flag"].ToString()=="17")
{
((Button)this.MyGrid.Items[i].Cells[j].Controls[1]).Text="已做";
this.MyGrid.Items[i].Cells[j].Controls[1].Visible=true;
}
else if(j.ToString()==ds.Tables[0].Rows[i]["Flag"].ToString())
{
((Button)this.MyGrid.Items[i].Cells[j].Controls[1]).Text="未做";
this.MyGrid.Items[i].Cells[j].Controls[1].Visible=true;
for(int k=j-1;k>0;k--)
{
((Button)this.MyGrid.Items[i].Cells[k].Controls[1]).Text="已做";
this.MyGrid.Items[i].Cells[k].Controls[1].Visible=true;
} }
else
{

this.MyGrid.Items[i].Cells[j].Controls[1].Visible=false;
}
}
}
我如果想要把"未做"和"以做"换成从数据库里一张表取出来的时间要怎么做

解决方案 »

  1.   

    不明白你的意思~ 
    UP
    JF
      

  2.   

    在Grid的ItemDataBound中做。
    这样就不用循环.且可以取到绑定数据的TableRow.private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    DataRowView row = (DataRowView)e.Item.DataItem; // 通过row["字段"]取值/
    }
    }
      

  3.   

    把读出来的数据放到DataSet中 
    然后 用DataSet 的对象 ds.Table[0].Rows["多少行"]["列名字"].Tostring();就是了这个就是你要的
      

  4.   

    你自定义一个方法,然后每次都以你的条件设置那个方法为buttion付值就行了
      

  5.   

    Click the link to solve your problem.Good luck!