Hi S,
Please try with the below code snippet.
ASPX
<
telerik:RadGrid
ID
=
"grChecklist1"
runat
=
"server"
AutoGenerateColumns
=
"false"
OnNeedDataSource
=
"grChecklist1_NeedDataSource"
OnPageIndexChanged
=
"grChecklist1_PageIndexChanged"
>
<
MasterTableView
AllowPaging
=
"true"
AutoGenerateColumns
=
"false"
PageSize
=
"5"
>
<
Columns
>
<
telerik:GridTemplateColumn
DataField
=
"Number"
HeaderText
=
"Number"
Visible
=
"true"
>
<
ItemTemplate
>
<
asp:TextBox
ID
=
"txtNumber"
runat
=
"server"
Text='<%#Bind("Number")%>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"TaskDescription"
HeaderText
=
"TaskDescription"
Visible
=
"true"
>
<
ItemTemplate
>
<
asp:TextBox
ID
=
"txtTaskDescription"
runat
=
"server"
Text='<%#Bind("TaskDescription")%>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
ASPX.CS
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
LoadDetails();
}
}
private
void
LoadDetails()
{
DataTable dt =
new
DataTable();
dt.Columns.Add(
"Number"
,
typeof
(
string
));
dt.Columns.Add(
"TaskDescription"
,
typeof
(
string
));
dt.Rows.Add(
"1"
,
"task1"
);
dt.Rows.Add(
"2"
,
"task2"
);
dt.Rows.Add(
"3"
,
"task3"
);
dt.Rows.Add(
"4"
,
"task4"
);
dt.Rows.Add(
"5"
,
"task5"
);
dt.Rows.Add(
"6"
,
"task6"
);
dt.Rows.Add(
"7"
,
"task7"
);
//grChecklist.DataSource = dt;
// grChecklist.DataBind();
Session[
"dt"
] = dt;
}
protected
void
grChecklist1_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
// RefreshSessionState();
grChecklist1.DataSource = (DataTable)Session[
"dt"
];
}
protected
void
grChecklist1_PageIndexChanged(
object
sender, GridPageChangedEventArgs e)
{
DataTable dt = Session[
"dt"
]
as
DataTable;
int
pagesize = 5;
int
currentpagesize = grChecklist1.CurrentPageIndex;
for
(
int
i = pagesize * currentpagesize; i < dt.Rows.Count; i++)
{
foreach
(GridDataItem item
in
grChecklist1.MasterTableView.Items)
{
if
(item.ItemIndex + (pagesize * currentpagesize) == i)
{
dt.Rows[i][
"Number"
] = (item.FindControl(
"txtNumber"
)
as
TextBox).Text;
dt.Rows[i][
"TaskDescription"
] = (item.FindControl(
"txtTaskDescription"
)
as
TextBox).Text;
}
}
}
}
Let me know if any concern.
Thanks,
Jayesh Goyani