By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,295 Members | 1,552 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,295 IT Pros & Developers. It's quick & easy.

aligning datagrid columns

P: n/a
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

Nov 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Well, I still don't get why original code posted does not work, but if anyone
else has run into the same situation, I found the following code will work.

My thanks to Greg O. who posted at
http://www.dotnet247.com/247referenc...25/125572.aspx
Dim tablerowitem As System.Web.UI.WebControls.DataGridItem
tablerowitem = dgDSR.Controls(0).Controls(0)
For Each tablerowitem In dgDSR.Items
tablerowitem.Cells(3).HorizontalAlign = HorizontalAlign.Center
If chkViewVerif.Checked = True Then
tablerowitem.Cells(5).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(7).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(9).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(11).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(14).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(16).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(18).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(20).HorizontalAlign = HorizontalAlign.Center
tablerowitem.Cells(22).HorizontalAlign = HorizontalAlign.Center
End If
Next

"Jennifer" wrote:
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

Nov 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.