ASP.NET GridView ã§ã®äžæããŒã¿ã®äœ¿çš
If you want to run through this walkthrough, please follow the guide on setting up our test environment.
Experience Level - Intermediate
èè

ãããã£ãŠãDataGrid ã䜿çšããå¿ èŠæ§ã«åºãããããããããŸããããå€æŽãè¡ããããã³ã«ããŒã¿ããŒã¹ãç¶ç¶çã«æŽæ°ããããããŸããã
幞ããªããšã«ããã®ãã¹ãŠã®ããŒã¿ãã»ãã·ã§ã³ã®è¿œå /åé€è¡ã«ä¿åããããŒã¿ããŒã¹ã«è§Šããããšãªãã¯ã©ã€ã¢ã³ããšãµãŒããŒã®éã§æž¡ãããšãã§ããŸãã
ç§åŠã«ã€ããŠæ·±ãæãäžããã€ããã¯ãããŸãããMSDN ã«ã¯ãã®ãããªèšäºããããŸãããŸããæ°ãã Web ãã©ãŒã ãããŒãããŸããDropDownListãGridViewãããã³ 2 ã€ã®ãã¿ã³ãè¿œå ããå¿ èŠããããŸãã
äžèšã®ãªã³ã¯ãã ClaytabaseAcademy ã¢ããªã䜿çšããŠããå Žåã¯ãVisual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ClaytabaseAcademyã¢ã€ãã ãå³ã¯ãªãã¯ã㊠Pages ãšããæ°ãããã©ã«ããŒãè¿œå ããTemporaryData.aspx ãšããããŒãžãè¿œå ããŸãã
HTML
<div> <asp:DropDownList ID="UserAvailable" runat="server" Width="200px"> <asp:ListItem Text="Gavin Clayton" Value="1"></asp:ListItem> <asp:ListItem Text="Sai Gangu" Value="2"></asp:ListItem> <asp:ListItem Text="Chester Copperpot" Value="3"></asp:ListItem> </asp:DropDownList> <asp:Button ID="AddUser" runat="server" Text="Add User" /></div><div> <asp:GridView ID="UsersForSignOffList" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" GridLines="None" BorderStyle="None" CssClass="DocsGrid"> <AlternatingRowStyle CssClass="alt" /> <Columns> <asp:BoundField DataField="UserName" HeaderText="Name" SortExpression="UserName" /> <asp:CommandField ShowDeleteButton="True"> <ItemStyle Width="125px" /> </asp:CommandField> </Columns> <HeaderStyle BackColor="#CCCCCC" /> <RowStyle CssClass="Grid" /> </asp:GridView></div><div> <asp:Button ID="UploadTable" runat="server" Text="Upload" /></div>
圹ã«ç«ã£ãïŒ
VB
Private Function CreateTable() As DataTable 'Add a user column Dim dt As DataTable = New DataTable Dim column As DataColumn column = New DataColumn() column.DataType = System.Type.GetType("System.Int32") column.ColumnName = "UserID" column.ReadOnly = False column.Unique = True dt.Columns.Add(column) 'add a user name column column = New DataColumn() column.DataType = System.Type.GetType("System.String") column.ColumnName = "UserName" column.ReadOnly = False column.Unique = False dt.Columns.Add(column) 'Add a unique column with its own unique id (for delete function) column = New DataColumn() column.DataType = System.Type.GetType("System.Int32") column.ColumnName = "ID" column.ReadOnly = False column.Unique = True column.AutoIncrement = True column.AutoIncrementSeed = 1 dt.Columns.Add(column) 'add primary key (first key) on column ID Dim PrimaryKeyColumns(0) As DataColumn PrimaryKeyColumns(0) = dt.Columns("ID") dt.PrimaryKey = PrimaryKeyColumns Return dt End Function
圹ã«ç«ã£ãïŒ
VB
Private Function AddDataToTable(ByVal UserID As Int32, ByVal UserName As String, ByVal myTable As DataTable) As DataTable Try Dim row As DataRow row = myTable.NewRow() row("UserID") = UserID row("UserName") = UserName myTable.Rows.Add(row) Return myTable Catch Return myTable End Try End Function
圹ã«ç«ã£ãïŒ
VB
Protected Sub Add_Click(sender As Object, e As System.EventArgs) Handles AddUser.Click AddDataToTable(UserAvailable.Items.FindByValue(UserAvailable.SelectedValue).Value, UserAvailable.Items.FindByValue(UserAvailable.SelectedValue).Text.ToString, CType(Session("myDatatable"), DataTable)) UsersForSignOffList.DataSource = (CType(Session("myDatatable"), DataTable)).DefaultView UsersForSignOffList.DataBind() End Sub
圹ã«ç«ã£ãïŒ
VB
Private Function DelDataFromTable(ByVal RowID As Int32, ByVal myTable As DataTable) As DataTable Dim r As DataRow = myTable.Rows.Find(RowID) myTable.Rows.Remove(r) Return myTable End Function
圹ã«ç«ã£ãïŒ
VB
Protected Sub UsersForSignOffList_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles UsersForSignOffList.RowDeleting Dim Id As Integer = e.Keys(0).ToString DelDataFromTable(Id, CType(Session("myDatatable"), DataTable)) UsersForSignOffList.DataSource = (CType(Session("myDatatable"), DataTable)).DefaultView UsersForSignOffList.DataBind() End Sub
圹ã«ç«ã£ãïŒ
VB
Private Sub Page_Load() Handles Me.PreRender If Not IsPostBack Then GetUsers() Dim mydt = New DataTable() mydt = CreateTable() Session("myDatatable") = mydt 'AddDataToTable(UserID, UserName, CType(Session("myDatatable"), DataTable)) ' If adding a default user UsersForSignOffList.DataSource = (CType(Session("myDatatable"), DataTable)).DefaultView UsersForSignOffList.DataBind() End If End Sub Private Sub AddUsersToTable() Handles UploadTable.Click Dim AddUser As New SqlCommand 'AddUser.Connection = con 'You will also need to open and close your connection in here Dim dt As DataTable = CType(Session("myDatatable"), DataTable) Dim dr As DataRow For i = 0 To dt.Rows.Count - 1 dr = dt.Rows(i) 'AddUser.CommandText = "INSERT INTO LinkedUsers(UserID) SELECT " + dr.Item(0).ToString() 'AddUser.ExecuteNonQuery() Next End Sub
圹ã«ç«ã£ãïŒ
VB
Private Sub GetUsers() 'Dim com As New SqlCommand("SELECT * FROM Users", con) 'Dim tr = com.ExecuteReader 'UserAvailable.DataSource = tr 'UserAvailable.DataTextField = "UserName" 'UserAvailable.DataValueField = "UserID" 'UserAvailable.DataBind() 'tr.Close() End Sub
圹ã«ç«ã£ãïŒ
Claytabaseã«ãããŠã§ããµã€ãã®ãã¶ã€ã³
ããã¯ãåœç€Ÿã® Web ãµã€ã ãã¶ã€ã³ ãµãŒãã¹ã®äžéšã§ãããåžå Žã§æãé«éã§æé©åãããã·ã¹ãã ã® 1 ã€ã§ãã Ousia ã³ã³ãã³ã管çã·ã¹ãã ã³ãŒãããå€æŽãããã³ãŒãã®ã»ã¯ã·ã§ã³ã§ãã