Цитата(ANDeath @ 21.1.2008, 17:52 ) | А можно пример связки DropDownGrid и DridView? F то на словах это все как-то пространственно звучит. Я так понимаю надо в тег Columns просто добавить ниспадающий список...ну и связать через DataSourceID и SelectedIndex? |
Ты все правильно сказал. Осталось лишь пример не поленится и написать.
aspx страница
| Код | <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="gvTest" AutoGenerateColumns="false" runat="server"> <Columns> <asp:TemplateField> <ItemTemplate> <%# Eval("Name") %> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:DropDownList DataSource="<%# GetForDropDown() %>" SelectedValue='<%# Eval("NameId") %>' DataTextField="Name" DataValueField="NameId" runat="server" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </form> </body> </html>
|
aspx behind-code
| Код | using System; using System.Configuration; using System.Data; using System.Web; using System.Collections.Generic; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.Configuration;
public partial class _Default : System.Web.UI.Page { private List<TestForDropDown> _testCollection = new List<TestForDropDown>(); protected void Page_Load(object sender, EventArgs e) { _testCollection.Add(new TestForDropDown(1, "First")); _testCollection.Add(new TestForDropDown(2, "second")); _testCollection.Add(new TestForDropDown(3, "Third"));
gvTest.DataSource = _testCollection; gvTest.DataBind(); }
protected List<TestForDropDown> GetForDropDown() { return _testCollection; } }
|
TestForDropDown сlass
| Код | using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts;
public class TestForDropDown { private int _nameId; private string _name;
public int NameId { get { return _nameId; } set { _nameId = value; } } public string Name { get { return _name; } set { _name = value; } }
public TestForDropDown() { } public TestForDropDown(int nameId, string name) { this._nameId = nameId; this._name = name; }
}
|
Дальше я думаю ты разберешься как привязать это все в ObjectDataSource. или любому другому провайдеру данных. |