Как показать gridview на основе выбранной строки gridview
Я показываю различные gridview на основе выбранной строки в gridview.
Protected void Bindgrid1() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[5] { new DataColumn("Date"), new DataColumn("Location"), new DataColumn("TimeIn"), new DataColumn("TimeOut"), new DataColumn("Hours") }); dt.Rows.Add("1-01-2018", "Chennai", "9.30", "6.30", "9"); dt.Rows.Add("2-01-2018", "Chennai", "9.30", "7.30", "10"); dt.Rows.Add("3-01-2018", "Chennai", "9.30", "5.30", "8"); dt.Rows.Add("4-01-2018", "Chennai", "9.30", "8.00", "10.30"); dt.Rows.Add("5-01-2018", "Chennai", "9.30", "7.00", "9.30"); GridView1.DataSource = dt; GridView1.DataBind(); } Protected void Bindgrid2() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[5] { new DataColumn("Date"), new DataColumn("Location"), new DataColumn("TimeIn"), new DataColumn("TimeOut"), new DataColumn("Hours") }); dt.Rows.Add("8-01-2018", "Chennai", "9.30", "7.00", "9.30"); dt.Rows.Add("9-01-2018", "Chennai ", "10.30", "7.30", "9"); dt.Rows.Add("10-01-2018", "Chennai", "11.30", "5.30", "6"); dt.Rows.Add("11-01-2018", "Chennai", "10.00", "8.00", "10.00"); dt.Rows.Add("12-01-2018", "Chennai", "9.00", "7.00", "10.00"); GridView2.DataSource = dt; GridView2.DataBind(); }
В режиме выполнения выполните следующие действия
Date Location Timein TimeOut Workinghours ViewAttendance 1/1/2018 Chennai 9.30 6.30 9 Clickhere 2//12018 Chennai 9.30 7.30 10 Clickhere 3/1/2018 Chennai 9.30 5.30 8 Clickhere 4/1/2018 Chennai 9.30 8.00 10.30 Clickhere 5/1/2018 Chennai 9.30 7.00 9.30 Clickhere
в режиме запуска, когда я щелкаю первую строку в gridview, я хочу видеть Gridview1.
Точно так же, когда я нажимаю на вторую строку в gridview, я хочу увидеть Gridview2.
для выбора gridview на основе каждой строки я написал следующий код
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //in gridview First row selected show the gridview1. Bindgrid1 method if (e.Row.RowType == DataControlRowType.DataRow) { string username = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Date")); LinkButton lnkbtnresult = (LinkButton)e.Row.FindControl("lnkdelete"); BindGrid1(); Gridview1.visible = true; } //in gridview second row selected show the gridview2. Bindgrid2 method if (e.Row.RowType == DataControlRowType.DataRow) { string username = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Location")); LinkButton lnkbtnresult = (LinkButton)e.Row.FindControl("lnkdelete"); BindGrid2(); Gridview2.visible = true; } }
Но когда я нажимаю на вторую строку в gridview, она показывает только gridview1, я хочу видеть gridview2.
из моего вышеприведенного кода следует, что это ошибка.
Что я уже пробовал:
Смотреть выше
Ziee-M
Привет судхакартхикеян, вы используете неправильные события для достижения своей цели.
Вот как вы должны это сделать :
1-скорость загрузки страницы событие : Персонализация вашего управления gridview1
2-Событие GridView1SelectedIndexChange:
Вы получаете необходимую информацию от Grid1 и используете ее для привязки Grid2.
Вот и все.
Однако вам следует немного больше изучить поток/порядок событий для Asp.net чтобы получить более четкое представление о Asp.net жизненный цикл.
[no name]
хорошо какие изменения я должен внести в свой вышеприведенный код Пожалуйста скажите мне