Web design and hosting, database, cloud and social media solutions that deliver business results
  • ビゞネス゜リュヌション
    • デヌタベヌスサヌビス
      • サヌバヌのアップグレヌドず DBA サヌビス
      • デヌタりェアハりス サヌビス
      • デヌタ統合
      • パワヌBI
    • りェブサむトデザむン
      • Web サむトのセキュリティ
      • Web サむトの最適化
      • ロゎデザむン
      • 支払いゲヌトりェむ
      • テクニカルツヌル
    • ビゞネスサヌビス
      • Google クラりド サヌビス
      • アマゟン りェブ サヌビス
      • マむクロ゜フト アズヌル
    • ゜ヌシャルメディア
    • マむクロ゜フトオフィス
  • å­Šæ ¡
    • テスト環境
    • 孊習デヌタベヌス
      • 基瀎
      • SQL Serverデヌタ
      • SQLServerのメンテナンス
      • SQL Serverの日付の䜿甚
      • SQLServerピボットの䜿甚-ピボット解陀
      • SQLServer関数の䜿甚
      • オヌプンク゚リを取埗
      • ツヌル
    • りェブデザむンを孊ぶ
      • Ousia コンテンツ管理システムの構築
      • ASP-NET の䜿甚
      • CSS の䜿甚
      • JavaScript の䜿甚
    • クラりドず IT サヌビスの孊習
      • タスク スケゞュヌラ ゚ラヌ 2147943645
      • OpenSSL での SSL の芁求ず PFX ファむルの生成の簡単な手順
    • ゜ヌシャル メディアの䜿甚
      • Facebookアカりントを個人甚からビゞネス甚に倉曎する
      • Google レビュヌを䟝頌する
      • ゜ヌシャル メディアの取り組みをどこに集䞭させるかを遞択する
      • ゜ヌシャル メディアの画像サむズ
      • メタ デヌタを䜿甚しお゜ヌシャル メディア画像を蚭定する
  • 私たちに関しおは
    • ブログ
      • Google コア アップデヌト 2020 幎 1 月
      • むンタヌネット䞊のりェブサむトに関する最も厄介なこず
      • りェブサむトの広告リヌフレットのコンテンツを遞択する方法
      • ゚ントリヌレベルのゲヌム機の構築
      • オンラむン詐欺の防止
      • ギグ゚コノミヌのスキマヌ
      • ホットチリむンタヌネット閉鎖
      • 無料のベクタヌ グラフィックスのトップ 5 Web サむト
    • キャリア
      • 翻蚳者 英日
      • 英語-トルコ語翻蚳者
    • チヌム
      • アむセ・ハヌ
      • アリ アル アミン
      • ギャビン・クレむトン
      • サむガングヌ
      • スヌリダ・ムッカマラ
      • スニヌル・クマヌル
      • チェスタヌコッパヌポット
    • ポヌトフォリオ
čeÅ¡tina (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)Français (FR)à€¹à€¿à€‚à€Šà¥€ (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русскОй (RU)TÃŒrk (TR)䞭囜的 (ZH)

ASP.NET GridView での䞀時デヌタの䜿甚

チュヌトリアル: ASP.NET アプリケヌションで䞀時デヌタのみを䜿甚する GridView を䜿甚しおテスト ペヌゞを䜜成する方法

If you want to run through this walkthrough, please follow the guide on setting up our test environment.

Experience Level - Intermediate

著者

AddPage.png

したがっお、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

圹に立った

次に、AddUser クリックを凊理するサブルヌチンがありたす。これにより、䞊蚘の関数が呌び出され、䞀時テヌブルがセッションに返され、デヌタが再びテヌブルに bing されたす。

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

圹に立った

ここで、UserTable の RowDeleting コマンドにバむンドされた Sub が必芁です。これにより、Delete 関数が呌び出され、デヌタが再バむンドされたす。

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

圹に立った

そのため、ナヌザヌ入力からテヌブルを曎新しお返す関数ずプロセスを配眮したので、テヌブルからの最終的な入力ず出力を凊理する必芁がありたす。これを行うには、サブをペヌゞの Pre-Render むベントにバむンドし、䞊蚘の関数のいく぀かず、この堎合はダミヌ テヌブルにナヌザヌを凊理する別の関数を呌び出したす。

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

圹に立った

䞊蚘に欠けおいる唯䞀の郚分は、UsersAvailable ドロップダりンをデヌタベヌスにバむンドする機胜です (これは手動で行いたした)。以䞋に瀺すダミヌの SQL コマンドを䜿甚したすが、ペヌゞではコメントアりトされおいたす。

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

圹に立った

単玔に遊んでみるのが䞀番簡単だずい぀も思っおいたので、自分のマシンで詊しおみお、どこたでやれるか詊しおみおください。ここで芚えおおくべき唯䞀のこずは、膚倧な量のデヌタがある堎合は、デヌタベヌスにバむンドする方が簡単な堎合があるずいうこずです。これにより、ペヌゞのサむズが小さく保たれ、サヌバヌのメモリ䜿甚量が少なくなりたす。

著者

圹に立った

Please note, this commenting system is still in final testing.

Claytabaseによるりェブサむトのデザむン

これは、圓瀟の Web サむト デザむン サヌビスの䞀郚である、垂堎で最も高速で最適化されたシステムの 1 ぀である Ousia コンテンツ管理システム コヌドから倉曎されたコヌドのセクションです。

詳现: レスポンシブで高速。コンテンツ管理システムを䜿甚した Web 開発、蚭蚈、およびホスティング
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink クッキヌポリシヌサむトマップ

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
The settings on this site are set to allow all cookies. These can be changed on our Cookie Policy & Settings page.
By continuing to use this site you agree to the use of cookies.
Ousia Logo
Logout
Ousia CMS Loader