Я пытаюсь получить полную копию данных из gridview, itryed clone (), пробовал использовать DataView из DataSouce, но всегда получаю нули или не могу получить данные, пожалуйста, существует способ скопировать данные из gridview, изменить его, а затем перезагрузить? или изменить несколько строк в сетке? заранее спасибо!





Что именно вы пытаетесь сделать с данными? Также это сетка данных или представление данных и в какой структуре? Если это datagrid, из которого вы пытаетесь скопировать строки, прокрутите строки datagrid и добавьте значения строк в arrayylist.
Вы можете попробовать использовать атрибут OnRowDataBound, чтобы сделать что-то вроде этого
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//HeaderStuff
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
ObjectTye objectType = (ObjectType)e.Row.DataItem;
// and doing some stuff with the properties
e.Row.Cells[0].Text = objectType.SomeProperty.ToString();
LinkButton deleteLnk = (LinkButton)e.Row.FindControl("lnkDelete");
deleteLnk.Attributes.Add("onclick", "javascript:return " +
"confirm('Are you sure you want to delete this')");
deleteLnk.CommandArgument = e.Row.RowIndex.ToString();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int rowIndex = int.Parse(e.CommandArgument.ToString());
GridViewRow row = GridView1.Rows[rowIndex];
ObjectType objectType = new ObjectType();
objectType.StringProperty = row.Cells[0].Text;
}
Для RowCommand вам нужно будет выполнить своего рода извлечение данных из списков, которые вы использовали для заполнения GridView.
Если я получаю правильное представление из ваших комментариев и сообщений, то у меня есть рабочая версия того, что вы хотите, в некотором смысле, но у вас должна быть большая часть того, что вам нужно для самостоятельной разработки решения в ответе здесь.
Почему бы просто не привязать вторую сетку к тому же источнику, к которому привязана первая сетка?
DataGridView1.DataSource = yourList;
DataGridView1.DataBind();
...
DataGridView2.DataSource = yourList; //or = DataGridView1.DataSource;
DataGridView2.DataBind();
Пока данные не изменились, вы должны получить точную копию.
Мне нравится, поэтому проверьте, пожалуйста: IList <DetalleCita> testDetail = scvCitas.GetDetalleCosto (codeCarta, codigoEstudio, codeAseguradora, rucAseguradora); dgvEstudios.DataSource = testDetail; dgvEstudios.DataBind ();
и я получаю null, когда пытаюсь получить свойство источника данных из экземпляра gridview
можно использовать то, что работает с TemplateFields? у меня есть кнопка и еще один столбец для флажка