2009/08/13(Thu) 22:50:24 編集(投稿者)
■No39789 (はつもの さん) に返信
> 今の日付と合致させるために、以下の方法がある事を調べ、GridView外のDropDownListでは以下の方
> 法で出来ていることは確認できました。
> これを、GridView中のDropDownListに対応させようと思っているのですが、その書き方が分からず困ってい
> ます。
> DropDownList.SelectedIndex = DropDownList.Items.IndexOf(DropDownList.Items.FindByValue("取得した日付"));
> DropDownListはFooterとEditにあります。どの様に書けば、GridView中のDropDownListを変更でき
> るのでしょうか。ぜひ教えてください。よろしくお願いいたします。
ItemTemplate のなかに DropDownList があるとすると
こげな感じで取得できます。
foreach(GridViewRow row in GridView1.Rows)
{
DropDownList dropdownlist = (DropDownList)row.FindControl("DropDownList1");
}
EditTemplate のなかに DropDownList があるとすると
こんな感じで取得できるみたいです。
http://social.msdn.microsoft.com/Forums/ja-JP/vwdexpressja/thread/e87a8924-87c5-44b4-bf8f-6bd4383b6485
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (!isEdit(e)) return;
DropDownList dropdownlist = (DropDownList) e.Row.FindControl("DropDownList1");
}
private bool isEdit(GridViewRowEventArgs e)
{
return (e.Row.RowState == DataControlRowState.Edit) ||
(e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit));
}
GridView のカスタムバインドを利用するという手もあるです。
http://dotnetfan.org/blogs/dotnetfanblog/articles/692.aspx