日期:2014-05-20  浏览次数:20486 次

菜鸟提问
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;
}
}


}
我如果想要把"未做"和"以做"换成从数据库里一张表取出来的时间要怎么做

------解决方案--------------------
读取出来赋值就可以了
------解决方案--------------------
不明白你的意思~
UP
JF
------解决方案--------------------
每个时间不一样还是什么啊?
不明白啊
------解决方案--------------------
在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[ "字段 "]取值/ } }
------解决方案--------------------
把读出来的数据放到DataSet中
然后 用DataSet 的对象 ds.Table[0].Rows[ "多少行 "][ "列名字 "].Tostring();就是了这个就是你要的