Is there a way to persist changes in a textbox within a listview to the correct object in a custom object list?
I cannot find an elegant way to do this.
ASPX:
Code-behind:
public
partial
class
TaskListControl : System.Web.UI.UserControl
{
BindingList<CogTaskGenItem> taskItems =
new
BindingList<CogTaskGenItem>();
CogTaskGenItem taskItem =
new
CogTaskGenItem();
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(Session[
"taskItems"
] !=
null
)
{
taskItems = (BindingList<CogTaskGenItem>)Session[
"taskItems"
];
}
}
protected
void
btnCreateTask_Click(
object
sender, EventArgs e)
{
string
script =
"<script>openWindow();</script>"
;
Page.ClientScript.RegisterStartupScript(Page.GetType(),
"OpenTaskWindow"
, script);
}
public
void
RadButton1_Click(
object
sender, EventArgs e)
{
AddTaskItem();
}
private
void
AddTaskItem()
{
taskItem =
new
CogTaskGenItem();
taskItem.Line = taskItems.Count + 1;
taskItems.Add(taskItem);
RadListView1.DataSource = taskItems;
Session[
"taskItems"
] = taskItems;
}
protected
void
RadTextBox1_TextChanged(
object
sender, EventArgs e)
{
taskItems.Clear();
foreach
(var item
in
RadListView1.Items)
{
taskItem = (CogTaskGenItem)item.DataItem;
taskItem.Text = ((RadTextBox)sender).Text;
taskItems.Add(taskItem);
}
RadListView1.DataSource = taskItems;
Session[
"taskItems"
] = taskItems;
}
}