473,326 Members | 2,148 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

How can I convert this dynamic repeater control example to work with a gridview?

I am deveoping a web part for deployment on a MOSS 2007 intranet using VB.net. I have a dataset containing ID,name. My template field needs to display a photo (photo filename is the ID number),name and ID number. I created a reapeater control and can successfully display my templated data. I now need to display my data in a grid format.

Expand|Select|Wrap|Line Numbers
  1. photoGrid = New Repeater()
  2. photoGrid.ItemTemplate = New MyTemplate()
  3. Me.Controls.Add(photoGrid)
  4.  
This code is from CreateChildControls() Sub.

Expand|Select|Wrap|Line Numbers
  1. writer.RenderBeginTag("div")
  2. photoGrid.RenderControl(writer)
  3. writer.RenderEndTag()
  4.  
This code from RenderContents Sub

Expand|Select|Wrap|Line Numbers
  1. photoGrid.DataSource = ds.Tables("classlist")
  2. photoGrid.DataBind()
  3.  
This code from the button click event that runs the sql to fill dataset.

Expand|Select|Wrap|Line Numbers
  1. Public Class MyTemplate
  2.         Implements ITemplate
  3.  
  4.         Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn
  5.  
  6.             Dim ph As New PlaceHolder()
  7.             Dim photo As New System.Web.UI.WebControls.Image
  8.             Dim name As New Label()
  9.             Dim number As New Label()
  10.  
  11.             photo.ID = "studphoto"
  12.             photo.Height = 100
  13.             photo.Width = 75
  14.             name.ID = "studname"
  15.             number.ID = "studnum"
  16.  
  17.  
  18.             ph.Controls.Add(New LiteralControl("<div>"))
  19.             ph.Controls.Add(photo)
  20.             ph.Controls.Add(New LiteralControl("<br />"))
  21.             ph.Controls.Add(name)
  22.             ph.Controls.Add(New LiteralControl("<br />"))
  23.             ph.Controls.Add(number)
  24.             ph.Controls.Add(New LiteralControl("</div>"))
  25.             AddHandler ph.DataBinding, New EventHandler(AddressOf Item_DataBinding)
  26.  
  27.             container.Controls.Add(ph)
  28.  
  29.         End Sub
  30.  
Code from the template class

Expand|Select|Wrap|Line Numbers
  1. Shared Sub Item_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
  2.  
  3.             Dim ph As PlaceHolder = CType(sender, PlaceHolder)
  4.             Dim ri As RepeaterItem = CType(ph.NamingContainer, RepeaterItem)
  5. Dim nameVal As String = Convert.ToString(DataBinder.Eval(ri.DataItem, "Surname"))
  6.             Dim numVal As Integer = Convert.ToInt32(DataBinder.Eval(ri.DataItem, "Student Code Number"))
  7. Dim pathToPhoto As String = "/Student Photos/_w/" & numVal & "_JPG.jpg"
  8. Dim currentSite As SPWeb = SPContext.Current.Web
  9.             ' Now test if the photo exists in the current sharepoint site.
  10.             Try
  11.                 Dim fi As SPFile = currentSite.GetFile(pathToPhoto)
  12.  
  13.                 If fi.Exists Then
  14.                     ' do nothing
  15.  
  16.                 Else
  17.                     pathToPhoto = "/Student Photos/_w/face2_JPG.jpg"
  18.                 End If
  19.             Catch ex As Exception
  20.  
  21.             End Try
  22.  
  23.             CType(ph.FindControl("studphoto"), System.Web.UI.WebControls.Image).ImageUrl = pathToPhoto
  24.             CType(ph.FindControl("studname"), Label).Text = nameVal.ToString()
  25.             CType(ph.FindControl("studnum"), Label).Text = numVal.ToString()
  26.  

I have followed these and many other articles but have not solved my problem.
<links removed>

Any help or suggestions would be much appreciated.

Jack
Jul 28 '10 #1
7 3166
Frinavale
9,735 Expert Mod 8TB
It looks like everything should work.
What are you having problems with?
Displaying the photos?
Creating a table instead of using <div>s?

-Frinny
Jul 30 '10 #2
Hi Frinny,

Thanks for the reply and apologies for the delayed response, been offline for a coupla days.

When I convert my code to use a grid view instead of the repeater control, no picture or data is displayed, checking the page source shows nothing in the img src attribute.

The changes I made to try and convert this to bind with a grid view control are as follows;

Expand|Select|Wrap|Line Numbers
  1. pGrid = New GridView
  2. pGrid.AutoGenerateColumns = False
  3.  
Expand|Select|Wrap|Line Numbers
  1. Dim gvi As DataGridItem = CType(ph.NamingContainer, DataGridItem)
  2.  
  3. Dim nameVal As String = Convert.ToString(DataBinder.Eval(gvi.DataItem, "Surname"))
  4.  
  5. Dim numVal As Integer = Convert.ToInt32(DataBinder.Eval(gvi.DataItem, "Student Code Number"))
  6.  
I didn't think I had changed enough to introduce any errors lol!

Cheers

Jack
Aug 2 '10 #3
Frinavale
9,735 Expert Mod 8TB
Could you post your GridView markup (in your "code view" of your aspx page) so that I can see what's going on?

-Frinny
Aug 2 '10 #4
All my markup is generated programmatically. The web parts that I am creating will be added to MOSS 2007 pages by the end user.

The web part requires 2 peices of data from the user who then clicks a button.

I am posting the full web part code, hope it helps,

Jack

Expand|Select|Wrap|Line Numbers
  1. Option Explicit On
  2. Option Strict On
  3.  
  4. Imports System
  5. Imports System.Collections
  6. Imports System.Data
  7. Imports System.Data.SqlClient
  8. Imports System.Drawing
  9. Imports System.IO
  10. Imports System.String
  11. Imports System.Text
  12. Imports System.Runtime.InteropServices
  13. Imports System.Web.UI
  14. Imports System.Web.UI.WebControls
  15. Imports System.Web.UI.WebControls.WebParts
  16. Imports System.Xml.Serialization
  17.  
  18. Imports Microsoft.SharePoint
  19. Imports Microsoft.SharePoint.WebControls
  20. Imports Microsoft.SharePoint.WebPartPages
  21.  
  22. Namespace viewGroup_v1
  23.  
  24.     <Guid("3a4f174b-1726-439a-9c51-127d5984f934")> _
  25.     Public Class viewGroupV1
  26.         Inherits System.Web.UI.WebControls.WebParts.WebPart
  27.  
  28.         'Define local variables to contain property values
  29.         Private _connectionString As String = ""
  30.         Private subjectCode, groupNum As TextBox                ' Subject code/ group number entry box.
  31.         Private ds As DataSet                                   ' Dataset to hold db results.
  32.         Private pGrid As GridView
  33.         'Private photoGrid As Repeater
  34.         Private studentPhoto As System.Web.UI.WebControls.Image ' Need to be explicit here.
  35.         Private subjectLbl, groupLbl As Label
  36.         Private show As Button
  37.         Public showError, debug As Literal
  38.         Private INTstudentCode As Integer                ' The students unique id.
  39.  
  40.         'Create property to hold SQL connection string
  41.         ' NB The conn string has been hard coded for testing purposes.
  42.         <Personalizable(PersonalizationScope.Shared), WebBrowsable(), WebDisplayName("Connection String:"), _
  43.             WebDescription("Connection string to use when connecting to SQL source.")> _
  44.         Property ConnectionString() As String
  45.             Get
  46.                 Return _connectionString
  47.             End Get
  48.  
  49.             Set(ByVal Value As String)
  50.                 _connectionString = Value
  51.  
  52.             End Set
  53.         End Property
  54.  
  55.         Public Sub New()
  56.             ' Add Handlers.
  57.             AddHandler Me.Init, AddressOf viewGroupV1_Init
  58.             AddHandler Me.Load, AddressOf viewGroupV1_Load
  59.             AddHandler Me.PreRender, AddressOf viewGroupV1_PreRender
  60.         End Sub
  61.  
  62.         Protected Overrides Sub CreateChildControls()
  63.  
  64.             'MyBase.CreateChildControls()
  65.             Try
  66.  
  67.                 ' Create the various controls needed for the web part and set required attributes.
  68.  
  69.                 subjectLbl = New Label()
  70.                 subjectLbl.Attributes.Item("for") = "subCode"
  71.                 subjectLbl.Text = "Enter Subject Code"
  72.  
  73.                 subjectCode = New TextBox()
  74.                 subjectCode.Style("padding") = "4px"
  75.                 subjectCode.ID = "subCode"
  76.                 subjectCode.MaxLength = 3
  77.                 subjectCode.Width = 50
  78.                 subjectCode.BackColor = Color.Cornsilk
  79.                 subjectCode.BorderColor = Color.DarkGoldenrod
  80.                 subjectCode.BorderWidth = 1
  81.  
  82.                 groupLbl = New Label()
  83.                 groupLbl.Attributes.Item("for") = "grpNum"
  84.                 groupLbl.Text = "Enter Group Number"
  85.  
  86.                 groupNum = New TextBox()
  87.                 groupNum.Style("padding") = "4px"
  88.                 groupNum.ID = "grpNum"
  89.                 groupNum.MaxLength = 2
  90.                 groupNum.Width = 50
  91.                 groupNum.BackColor = Color.Cornsilk
  92.                 groupNum.BorderColor = Color.DarkGoldenrod
  93.                 groupNum.BorderWidth = 1
  94.  
  95.                 show = New Button()
  96.                 show.Width = 130
  97.                 show.BackColor = Color.Cornsilk
  98.                 show.BorderColor = Color.DarkGoldenrod
  99.                 show.BorderWidth = 1
  100.                 show.Style("padding") = "0px"
  101.                 show.Font.Italic = True
  102.                 show.Text = " Show Class "
  103.                 AddHandler show.Click, AddressOf show_Click
  104.  
  105.                 showError = New Literal()
  106.                 debug = New Literal()
  107.  
  108.                 'photoGrid = New Repeater()
  109.                 'photoGrid.ItemTemplate = New MyTemplate()
  110.  
  111.                 pGrid = New GridView
  112.                 pGrid.AutoGenerateColumns = False
  113.  
  114.                 ' Add all the controls to the controls collection.
  115.                 Me.Controls.Add(subjectLbl)
  116.                 Me.Controls.Add(subjectCode)
  117.                 Me.Controls.Add(groupLbl)
  118.                 Me.Controls.Add(groupNum)
  119.                 Me.Controls.Add(show)
  120.                 Me.Controls.Add(showError)
  121.                 Me.Controls.Add(debug)
  122.                 'Me.Controls.Add(photoGrid)
  123.                 Me.Controls.Add(pGrid)
  124.  
  125.             Catch ex As Exception
  126.                 showError.Text = ex.ToString()
  127.             End Try
  128.  
  129.  
  130.         End Sub
  131.  
  132.         Protected Overrides Sub RenderContents(ByVal writer As System.Web.UI.HtmlTextWriter)
  133.  
  134.             Try
  135.  
  136.                 ' Render the web part to the page.
  137.  
  138.                 writer.RenderBeginTag("div")
  139.                 writer.RenderBeginTag("table")
  140.                 writer.RenderBeginTag("tr")
  141.                 writer.RenderBeginTag("td")
  142.                 subjectLbl.RenderControl(writer)
  143.                 writer.RenderEndTag() ' end td
  144.                 writer.RenderBeginTag("td")
  145.                 subjectCode.RenderControl(writer)
  146.                 writer.RenderEndTag() ' end td
  147.                 writer.RenderEndTag() ' end tr
  148.  
  149.                 writer.RenderBeginTag("tr")
  150.                 writer.RenderBeginTag("td")
  151.                 groupLbl.RenderControl(writer)
  152.                 writer.RenderEndTag() ' end td
  153.                 writer.RenderBeginTag("td")
  154.                 groupNum.RenderControl(writer)
  155.                 writer.RenderEndTag() ' end td
  156.                 writer.RenderEndTag() ' end tr
  157.                 writer.RenderBeginTag("tr")
  158.                 writer.RenderBeginTag("td")
  159.                 show.RenderControl(writer)
  160.                 writer.RenderEndTag() ' end td
  161.                 writer.RenderEndTag() ' end tr
  162.  
  163.                 writer.RenderBeginTag("tr")
  164.                 writer.RenderBeginTag("td")
  165.                 writer.RenderEndTag() ' end td
  166.                 writer.RenderBeginTag("td") '
  167.  
  168.                 writer.RenderEndTag() ' end td
  169.                 writer.RenderEndTag() ' end tr
  170.                 writer.RenderEndTag() ' end table
  171.                 debug.RenderControl(writer)
  172.                 showError.RenderControl(writer)
  173.                 writer.RenderEndTag() ' end div
  174.  
  175.                 writer.RenderBeginTag("div")
  176.                 pGrid.RenderControl(writer)
  177.                 writer.RenderEndTag()
  178.  
  179.                 writer.RenderBeginTag("div")
  180.                 photoGrid.RenderControl(writer)
  181.                 writer.RenderEndTag()
  182.  
  183.             Catch ex As Exception
  184.                 showError.Text = ex.ToString()  ' DEBUG
  185.             End Try
  186.  
  187.         End Sub
  188.  
  189.         Public Sub viewGroupV1_Init(ByVal sender As Object, ByVal e As EventArgs)
  190.  
  191.             ' NB Hard coded conn string placed here for testing only.
  192.             ConnectionString = "DATA SOURCE=testDB1;Initial Catalog=full_test_db;Failover Partner=testDB2;Trusted_Connection=True"
  193.  
  194.         End Sub
  195.  
  196.         Public Sub viewGroupV1_Load(ByVal sender As Object, ByVal e As EventArgs)
  197.  
  198.             ' Set web part title and description here.
  199.  
  200.         End Sub
  201.  
  202.         Public Sub viewGroupV1_PreRender(ByVal sender As Object, ByVal e As EventArgs)
  203.  
  204.             ' Nothing to pre render on this occasion.
  205.  
  206.         End Sub
  207.  
  208.         Protected Sub show_Click(ByVal sender As Object, ByVal e As EventArgs)
  209.  
  210.             ' Check the user supplied parameters and remove any illegal chars.
  211.             Dim subtemp As String = stripIllegal(subjectCode.Text.Trim)
  212.             Dim grptemp As String = stripIllegal(groupNum.Text.Trim)
  213.  
  214.             If subtemp = "" Or grptemp = "" Then
  215.                 showError.Text = "Please enter a valid subject code and group number."
  216.             Else
  217.  
  218.                 Dim con As New SqlClient.SqlConnection(ConnectionString)
  219.                 Dim sqlAdapter As New SqlClient.SqlDataAdapter("getClassList", con)
  220.  
  221.                 sqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
  222.                 sqlAdapter.SelectCommand.Parameters.Add(New SqlParameter("@Subject", SqlDbType.VarChar, 3))
  223.                 sqlAdapter.SelectCommand.Parameters("@Subject").Value = subtemp
  224.  
  225.                 sqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
  226.                 sqlAdapter.SelectCommand.Parameters.Add(New SqlParameter("@Group", SqlDbType.Int))
  227.                 sqlAdapter.SelectCommand.Parameters("@Group").Value = grptemp
  228.  
  229.                 ds = New DataSet()
  230.  
  231.                 Try
  232.                     con.Open()
  233.                     sqlAdapter.Fill(ds, "classlist")
  234.                 Catch ex As Exception
  235.                     showError.Text += "<p style=""color:#f00;"">DEBUG -><br><br>" & ex.ToString & "</p>"
  236.                 Finally
  237.                     con.Close()
  238.                     sqlAdapter = Nothing
  239.                     sb = Nothing
  240.                 End Try
  241.  
  242.                 If ds.Tables("classlist") IsNot Nothing Then
  243.  
  244.                     If ds.Tables("classlist").Rows.Count > 0 Then
  245.  
  246.                         Try
  247.  
  248.                             pGrid.ShowHeader = False
  249.                             pGrid.ShowFooter = False
  250.  
  251.                             ' Add a template for each row of the data set.
  252.                             For y As Integer = 0 To ds.Tables("classlist").Rows.Count - 1
  253.  
  254.                                 Dim val As String = ds.Tables("classlist").Rows(y).Item("Surname").ToString ' DEBUG
  255.                                 debug.Text += "Adding template field " & y + 1 & " - " & val & "<br>"       ' DEBUG
  256.                                 Dim tf As New TemplateField()
  257.                                 tf.ItemTemplate = New MyTemplate()
  258.                                 pGrid.Columns.Add(tf)
  259.  
  260.                             Next
  261.  
  262.                             pGrid.DataSource = ds.Tables("classlist")
  263.                             pGrid.DataBind()
  264.                             pGrid.Visible = True
  265.  
  266.                         Catch ex As Exception
  267.                             showError.Text = "<p style=""color:#f00;"">DEBUG -> <br><br>" & ex.ToString & "</p>"
  268.                         End Try
  269.  
  270.                         'photoGrid.DataSource = ds.Tables("classlist")
  271.                         'photoGrid.DataBind()
  272.                         showError.Text = ""
  273.  
  274.                     Else
  275.  
  276.                         showError.Text = "<p style=""color:#f00;"">No results found for this subject and group combination.</p>"
  277.  
  278.                     End If
  279.  
  280.                 End If
  281.  
  282.             End If
  283.  
  284.         End Sub
  285.  
  286.     End Class
  287.  
  288.     Public Class MyTemplate
  289.         Implements ITemplate
  290.  
  291.         Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn
  292.  
  293.             Dim ph As New PlaceHolder()
  294.             Dim photo As New System.Web.UI.WebControls.Image
  295.             Dim name As New Label()
  296.             Dim number As New Label()
  297.  
  298.             photo.ID = "studphoto"
  299.             photo.Height = 100
  300.             photo.Width = 75
  301.             name.ID = "studname"
  302.             number.ID = "studnum"
  303.  
  304.             ph.Controls.Add(New LiteralControl("<div>"))
  305.             ph.Controls.Add(photo)
  306.             ph.Controls.Add(New LiteralControl("<br />"))
  307.             ph.Controls.Add(name)
  308.             ph.Controls.Add(New LiteralControl("<br />"))
  309.             ph.Controls.Add(number)
  310.             ph.Controls.Add(New LiteralControl("</div>"))
  311.             AddHandler ph.DataBinding, New EventHandler(AddressOf Item_DataBinding)
  312.  
  313.             container.Controls.Add(ph)
  314.  
  315.         End Sub
  316.  
  317.         Shared Sub Item_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
  318.  
  319.             Dim ph As PlaceHolder = CType(sender, PlaceHolder)
  320.  
  321.             'Dim ri As RepeaterItem = CType(ph.NamingContainer, RepeaterItem)
  322.  
  323.             Dim gvi As DataGridItem = CType(ph.NamingContainer, DataGridItem)
  324.  
  325.             'Dim nameVal2 As String = Convert.ToString(DataBinder.Eval(ri.DataItem, "Surname"))
  326.             'Dim numVal2 As Integer = Convert.ToInt32(DataBinder.Eval(ri.DataItem, "Student Code Number"))
  327.  
  328.             Dim nameVal As String = Convert.ToString(DataBinder.Eval(gvi.DataItem, "Surname"))
  329.             Dim numVal As Integer = Convert.ToInt32(DataBinder.Eval(gvi.DataItem, "Student Code Number"))
  330.             Dim pathToPhoto As String = "/Student Photos/_w/" & numVal2 & "_JPG.jpg"
  331.  
  332.             Dim currentSite As SPWeb = SPContext.Current.Web
  333.             ' Now test if the photo exists in the current sharepoint site.
  334.             Try
  335.                 Dim fi As SPFile = currentSite.GetFile(pathToPhoto)
  336.  
  337.                 If fi.Exists Then
  338.                     ' do nothing
  339.                 Else
  340.                     pathToPhoto = "/Student Photos/_w/face2_JPG.jpg"
  341.                 End If
  342.             Catch ex As Exception
  343.  
  344.             End Try
  345.  
  346.             CType(ph.FindControl("studphoto"), System.Web.UI.WebControls.Image).ImageUrl = pathToPhoto
  347.             CType(ph.FindControl("studname"), Label).Text = nameVal2.ToString()
  348.             CType(ph.FindControl("studnum"), Label).Text = numVal2.ToString()
  349.  
  350.         End Sub
  351.  
  352.     End Class
  353.  
  354. End Namespace
  355.  
  356.  
Aug 2 '10 #5
Apologies, lines 347,348 should read,

Expand|Select|Wrap|Line Numbers
  1. CType(ph.FindControl("studname"), Label).Text = nameVal.ToString()
  2. CType(ph.FindControl("studnum"), Label).Text = numVal.ToString()
  3.  
Aug 2 '10 #6
Frinavale
9,735 Expert Mod 8TB
Somehow I didn't realize that you were working with a web-part. I've never worked with them before but I'll see if I can still help you get through this.

Give me a bit to figure out what you have posted here.

-Frinny
Aug 2 '10 #7
Much appreciated Frinny, cheers
Aug 3 '10 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: Oleg | last post by:
I am using asp:repeater control. I would like to create a conditional row <tr> when the data in DataBinder.Eval(Container.DataItem, "Activity") returns '1'. I need something like this: <%if(...
1
by: ratnakarp | last post by:
Hi, I have a search text box. The user enters the value in the text box and click on enter button. In code behind on button click i'm writing the code to get the values from the database and...
1
by: Steve Lutz | last post by:
I have written a web service to provide some back-end functionality to a Web Site. The web service returns lists of items. If I use the webservice via a browser, it works fine and returns the...
2
by: Mike Cain | last post by:
Hi, The Repeater control seems like exactly what I want to output rows of data from my database. However I need to do some manipulation to the data prior to it being output and I'm not...
1
by: erin.sebastian | last post by:
Hello All, I have 2 tables in my sql database, a table that holds different years (ex, 2003,2004,2005,2006) and then another table that holds newsletter information and the year is a foreign key...
0
by: Eugene Anthony | last post by:
The problem with my coding is that despite removing the records stored in the array list, the rptPages repeater control is still visible. The rptPages repeater control displayes the navigation...
2
by: Jeff | last post by:
Hey ASP.NET 2.0 GridView have AllowPaging & PageSize for the letting the GridView span multiple pages. But is the same allowed on a Repeater control? I didn't see any properties like...
1
by: Doogie | last post by:
Hi, I have been trying to get a checkbox added to a repeater control of mine and then try to access events of the repeater control when a user clicks the checkbox. At first, since the control is...
3
by: Emma Middlebrook | last post by:
Hi there, I've been trying to implement a repeater control in an ASP.NET 2 page but I can't seem to get the layout exactly how I want and I'm not sure if it's something that I am doing wrong or...
5
by: =?Utf-8?B?Um9iZXJ0IFNtaXRo?= | last post by:
Hi, I wish to create a repeater control in c#.net that allows for the selection of rows, any idea how this can be done. Regards Robert
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.