Как реализовать сабж? Понятно, что надо на событие двойного клика грида вешаться.....
А дальше..... Хочется как то попроще.....
Нравится
1 комментарий
22 ноября 2013 10:34
Вот пример (из конфигурации). В принципе - ничего сложного, но если появятся вопросы - задавайте, постараюсь ответить:
var selectedNodes = Page.TreeGrid.SelectedNodes; if (selectedNodes.Count < 1) { return true; } Page.DataSource.LoadRow(new Guid(selectedNodes[0].Values["Id"].ToString())); if (Page.DataSource.Rows.Count < 1) { return true; } var id = new Guid(selectedNodes[0].Values["Id"].ToString()); var entitySchemaManager = UserConnection.EntitySchemaManager; var entitySchema = entitySchemaManager.GetInstanceByName("CommentaryFile"); var entitySchemaQuery = new EntitySchemaQuery(entitySchemaManager, entitySchema.Name); var dataColumn = entitySchemaQuery.AddColumn("Data"); var nameColumn = entitySchemaQuery.AddColumn("Name"); entitySchemaQuery.Filters.Add(entitySchemaQuery.CreateFilterWithParameters( FilterComparisonType.Equal, entitySchema.GetPrimaryColumnName(), id)); var entityCollection = entitySchemaQuery.GetEntityCollection(UserConnection); if (entityCollection.Count == 1) { var data = entityCollection[0].GetColumnValue(dataColumn.Name) as byte[]; var Response = Page.Response; String fileName = (String)entityCollection[0].GetColumnValue(nameColumn.Name); Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlPathEncode(fileName)); Response.ContentType = "APPLICATION/OCTET-STREAM"; Response.AddHeader("Content-Length", data.Length.ToString()); Response.BinaryWrite(data); }
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать