G
Guest
I have a datagrid where I am trying to align some columns to the center. The
rest should be aligned to the right. When I try the code below I get an
error message saying that the index is out of bounds. When debugging I get
the column count of the datagrid to be 1. I find this rather ridiculous only
because there are 61 columns that I can physically see. Plus, the data
table that I am using to bind the datagrid has a count of 61. Could someone
please take a look at the code below to see what I am missing, if I am
missing anything? I appreciate any help.
Thanks,
Jennifer
Private Sub FillGrid(ByVal SortExp As String)
Dim dvMain As DataView
Dim X As Int64
Dim dtMain As New DataTable()
Dim DR As DataRow
Dim Update_User As String
If txtStartDate.Text <> "*" Then
If txtEndDate.Text = "*" Then Exit Sub
End If
dvMain = GetDailySales(txtUnitID.Text, txtStartDate.Text, txtEndDate.Text)
If SortExp <> "" Then
dvMain.Sort = SortExp
End If
Dim Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10 As String
Dim Col11, Col12, Col13, Col14, Col15, Col16, Col17, Col18, Col19, Col20
As String
Dim Col21, Col22, Col23, Col24, Col25, Col26, Col27, Col28, Col29, Col30
As String
Dim Col31, Col32, Col33, Col34, Col35, Col36, Col37, Col38, Col39, Col40
As String
Dim Col41, Col42, Col43, Col44, Col45, Col46, Col47, Col48, Col49, Col50,
Col51, Col52 As String
Dim Col53, Col54, Col55, Col56, Col57, Col58, Col59, Col60, Col61 As String
Col1 = "Unit"
Col2 = "Date"
Col3 = "Status"
Col4 = "Deposit" & vbCrLf & "Evening" & vbCrLf & "$"
Col55 = "Deposit" & vbCrLf & "Evening" & vbCrLf & "$" & vbCrLf & "Verified"
Col5 = "Deposit" & vbCrLf & "Early_Bird" & vbCrLf & "$"
'-----more column names set here------------
dtMain.Columns.Add(Col1)
dtMain.Columns.Add(Col2)
dtMain.Columns.Add(Col3)
dtMain.Columns.Add(Col4)
If chkViewVerif.Checked = True Then dtMain.Columns.Add(Col55)
'-----adding the rest of the columns to the data row here
Dim BD As Date
For X = 0 To dvMain.Count - 1
DR = dtMain.NewRow
DR(Col1) = dvMain(X)("Unit_ID")
BD = dvMain(X)("Business_Date")
DR(Col2) = BD.ToShortDateString
DR(Col3) = dvMain(X)("Status")
If IsDBNull(dvMain(X)("User_ID")) Then
DR(Col50) = dvMain(X)("User_ID")
Else
Update_User = dvMain(X)("User_ID")
DR(Col50) = Update_User.Substring(12)
End If
DR(Col4) = Format(dvMain(X)("Deposit_Eve_Amt"), "N")
If chkViewVerif.Checked = True Then DR(Col55) =
dvMain(X)("Deposit_Eve_Amt_Verified")
'--- assigning the rest of the values here
dtMain.Rows.Add(DR)
Next
dgDSR.DataSource = dtMain
dgDSR.DataBind()
'---trying to align a column here (and it doesn't work)
dgDSR.Columns(2).ItemStyle.HorizontalAlign = HorizontalAlign.Center
End Sub
rest should be aligned to the right. When I try the code below I get an
error message saying that the index is out of bounds. When debugging I get
the column count of the datagrid to be 1. I find this rather ridiculous only
because there are 61 columns that I can physically see. Plus, the data
table that I am using to bind the datagrid has a count of 61. Could someone
please take a look at the code below to see what I am missing, if I am
missing anything? I appreciate any help.
Thanks,
Jennifer
Private Sub FillGrid(ByVal SortExp As String)
Dim dvMain As DataView
Dim X As Int64
Dim dtMain As New DataTable()
Dim DR As DataRow
Dim Update_User As String
If txtStartDate.Text <> "*" Then
If txtEndDate.Text = "*" Then Exit Sub
End If
dvMain = GetDailySales(txtUnitID.Text, txtStartDate.Text, txtEndDate.Text)
If SortExp <> "" Then
dvMain.Sort = SortExp
End If
Dim Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10 As String
Dim Col11, Col12, Col13, Col14, Col15, Col16, Col17, Col18, Col19, Col20
As String
Dim Col21, Col22, Col23, Col24, Col25, Col26, Col27, Col28, Col29, Col30
As String
Dim Col31, Col32, Col33, Col34, Col35, Col36, Col37, Col38, Col39, Col40
As String
Dim Col41, Col42, Col43, Col44, Col45, Col46, Col47, Col48, Col49, Col50,
Col51, Col52 As String
Dim Col53, Col54, Col55, Col56, Col57, Col58, Col59, Col60, Col61 As String
Col1 = "Unit"
Col2 = "Date"
Col3 = "Status"
Col4 = "Deposit" & vbCrLf & "Evening" & vbCrLf & "$"
Col55 = "Deposit" & vbCrLf & "Evening" & vbCrLf & "$" & vbCrLf & "Verified"
Col5 = "Deposit" & vbCrLf & "Early_Bird" & vbCrLf & "$"
'-----more column names set here------------
dtMain.Columns.Add(Col1)
dtMain.Columns.Add(Col2)
dtMain.Columns.Add(Col3)
dtMain.Columns.Add(Col4)
If chkViewVerif.Checked = True Then dtMain.Columns.Add(Col55)
'-----adding the rest of the columns to the data row here
Dim BD As Date
For X = 0 To dvMain.Count - 1
DR = dtMain.NewRow
DR(Col1) = dvMain(X)("Unit_ID")
BD = dvMain(X)("Business_Date")
DR(Col2) = BD.ToShortDateString
DR(Col3) = dvMain(X)("Status")
If IsDBNull(dvMain(X)("User_ID")) Then
DR(Col50) = dvMain(X)("User_ID")
Else
Update_User = dvMain(X)("User_ID")
DR(Col50) = Update_User.Substring(12)
End If
DR(Col4) = Format(dvMain(X)("Deposit_Eve_Amt"), "N")
If chkViewVerif.Checked = True Then DR(Col55) =
dvMain(X)("Deposit_Eve_Amt_Verified")
'--- assigning the rest of the values here
dtMain.Rows.Add(DR)
Next
dgDSR.DataSource = dtMain
dgDSR.DataBind()
'---trying to align a column here (and it doesn't work)
dgDSR.Columns(2).ItemStyle.HorizontalAlign = HorizontalAlign.Center
End Sub