2009-05-06 24 views

答えて

27

使用できるのはe.Item.DataItemです。

例:Repeater.ItemDataBound Event

// This event is raised for the header, the footer, separators, and items. 
void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) 
{ 
    // Execute the following logic for Items and Alternating Items. 
    if (e.Item.ItemType == ListItemType.Item || 
     e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
    if (((Evaluation)e.Item.DataItem).Rating == "Good") 
    { 
     ((Label)e.Item.FindControl("RatingLabel")).Text= "<b>***Good***</b>"; 
    } 
    } 
} 
6

現在のアイテムに使用されるデータがいるEventArgsから求めることができます。

データソースに応じて、
RepeaterItemEventArgs e 

e.Item.DataItem 
38

... あなたのDataSourceがDataTableのであれば、あなたのDataItemはDataRowView含まれています

protected void rptMyReteater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     Button b = e.Item.FindControl("myButton") as Button; 
     DataRowView drv = e.Item.DataItem as DataRowView; 
     b.CommandArgument = drv.Row["ID_COLUMN_NAME"].ToString(); 
    } 
} 
+0

素晴らしい回答を!ありがとう – Eric

+0

これはまさに私が望むものです – mzonerz

関連する問題