| True DBGrid for WinForms Tutorials > Tutorial 22: Borders, Scroll Tracking, and Scroll Tips |
In this tutorial, you will learn how to adjust borders, add scroll tracking, and add scroll tips to the grid. Complete the following steps:
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
Me.CustomerTableAdapter.Fill(Me.DsCustomer.Customer) |
|
To write code in C#
| C# |
Copy Code
|
|---|---|
this.CustomerTableAdapter.Fill(this.DsCustomer.Customer); |
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
' Copy the data. Dim dbTable As DataTable Dim borderColor As Color Dim borderLeft As Integer, borderTop As Integer, borderRight As Integer, borderBottom As Integer Dim borderType As C1.Win.C1TrueDBGrid.BorderTypeEnum |
|
To write code in C#
| C# |
Copy Code
|
|---|---|
// Copy the data. DataTable dbTable; Color borderColor; int borderLeft, int borderTop, int borderRight, int borderBottom; C1.Win.C1TrueDBGrid.BorderTypeEnum borderType; |
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
dbTable = Me.DsCustomer.Tables(0).Copy() ' Fill each combobox. FillComboBox1() FillCombo(ComboBox2) FillCombo(ComboBox3) FillCombo(ComboBox4) FillCombo(ComboBox5) Me.CheckBox2.Checked = True ' Initalize border sizes. Me.borderBottom = 1 Me.borderLeft = 1 Me.borderRight = 1 Me.borderTop = 1 |
|
To write code in C#
| C# |
Copy Code
|
|---|---|
dbTable = this.DsCustomer.Tables[0].Copy(); // Fill each combobox. FillComboBox1(); FillCombo(comboBox2); FillCombo(comboBox3); FillCombo(comboBox4); FillCombo(comboBox5); this.checkBox2.Checked = true; // Initalize border sizes. this.borderBottom = 1; this.borderLeft = 1; this.borderRight = 1; this.borderTop = 1; |
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
' Fill each combo with numbers from 1 to 10.
Private Sub FillCombo(ByRef com As ComboBox)
Dim i As Integer
com.Text = 1
For i = 1 To 10
com.Items.Add(i)
Next
End Sub
' Fill the first combo with border types.
Private Sub FillComboBox1()
Me.ComboBox1.Text = "None"
With Me.ComboBox1.Items
.Add("Fillet")
.Add("Flat")
.Add("Groove")
.Add("Inset")
.Add("InsetBevel")
.Add("None")
.Add("Raised")
.Add("RaisedBevel")
End With
End Sub
|
|
To write code in C#
| C# |
Copy Code
|
|---|---|
// Fill each combo with numbers from 1 to 10.
private void FillCombo(ref ComboBox com)
{
int i;
com.Text = 1;
for (i = 1 ; i <= 10; i++)
{
com.Items.Add[I];
}
}
// Fill the first combo with border types.
private void FillComboBox1()
{
this.comboBox1.Text = "None";
this.comboBox1.Items.Add("Fillet");
this.comboBox1.Items.Add("Flat");
this.comboBox1.Items.Add("Groove");
this.comboBox1.Items.Add("Inset");
this.comboBox1.Items.Add("InsetBevel");
this.comboBox1.Items.Add("None");
this.comboBox1.Items.Add("Raised");
this.comboBox1.Items.Add("RaisedBevel");
}
|
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim result As DialogResult
result = Me.ColorDialog1.ShowDialog()
If result = DialogResult.OK Then
borderColor = Me.ColorDialog1.Color
Button1.BackColor = borderColor
End If
UpdateBorder()
End Sub
|
|
To write code in C#
| C# |
Copy Code
|
|---|---|
private void button1_Click(System.object sender, System.EventArgs e) button1.Click {
DialogResult result;
result = this.colorDialog1.ShowDialog();
if (result == DialogResult.OK )
{
borderColor = this.colorDialog1.Color;
button1.BackColor = borderColor;
}
UpdateBorder();
}
|
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
Private Sub UpdateBorder()
With Me.C1TrueDBGrid1.Splits(0).DisplayColumns(Me.C1TrueDBGrid1.Col).Style.Borders
.Color = ColorDialog1.Color
.BorderType = borderType
.Bottom = borderBottom
.Left = borderLeft
.Right = borderRight
.Top = borderTop
End With
End Sub
|
|
To write code in C#
| C# |
Copy Code
|
|---|---|
private void UpdateBorder()
{
C1.Win.C1TrueDBGrid.GridBorders b;
b = this.c1TrueDBGrid1.Splits[0].DisplayColumns(this.c1TrueDBGrid1.Col).Style.Borders;
b.Color = colorDialog1.Color;
b.BorderType = borderType;
b.Bottom = borderBottom;
b.Left = borderLeft;
b.Right = borderRight;
b.Top = borderTop;
}
|
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
Private Sub ComboBox1_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectionChangeCommitted
Select Case Me.ComboBox1.SelectedItem
Case "Fillet"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Fillet
Case "Flat"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Flat
Case "Groove"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Groove
Case "Inset"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Inset
Case "InsetBevel"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.InsetBevel
Case "None"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.None
Case "Raised"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Raised
Case "RaisedBevel"
Me.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.RaisedBevel
End Select
Me.UpdateBorder()
End Sub
Private Sub ComboBox2_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectionChangeCommitted
Me.borderTop = Me.ComboBox2.SelectedItem
Me.UpdateBorder()
End Sub
Private Sub ComboBox3_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectionChangeCommitted
Me.borderBottom = Me.ComboBox3.SelectedItem
Me.UpdateBorder()
End Sub
Private Sub ComboBox4_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox4.SelectionChangeCommitted
Me.borderLeft = Me.ComboBox4.SelectedItem
Me.UpdateBorder()
End Sub
Private Sub ComboBox5_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox5.SelectionChangeCommitted
Me.borderRight = Me.ComboBox5.SelectedItem
Me.UpdateBorder()
End Sub
|
|
To write code in C#
| C# |
Copy Code
|
|---|---|
private void ComboBox1_SelectionChangeCommitted(object sender, System.EventArgs e) {
switch (this.comboBox1.SelectedItem)
{
case "Fillet";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Fillet;
break;
case "Flat";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Flat;
break;
case "Groove";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Groove;
break;
case "Inset";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Inset;
break;
case "InsetBevel";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.InsetBevel;
break;
case "None";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.None;
break;
case "Raised";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.Raised;
break;
case "RaisedBevel";
this.borderType = C1.Win.C1TrueDBGrid.BorderTypeEnum.RaisedBevel;
break;
}
this.UpdateBorder();
}
private void comboBox2_SelectionChangeCommitted(object sender, System.EventArgs e) {
this.borderTop = this.comboBox2.SelectedItem;
this.UpdateBorder();
}
private void comboBox3_SelectionChangeCommitted(object sender, System.EventArgs e) {
this.borderBottom = this.comboBox3.SelectedItem;
this.UpdateBorder();
}
private void comboBox4_SelectionChangeCommitted(object sender, System.EventArgs e) {
this.borderLeft = this.comboBox4.SelectedItem;
this.UpdateBorder();
}
private void comboBox5_SelectionChangeCommitted(object sender, System.EventArgs e) {
this.borderRight = this.comboBox5.SelectedItem;
this.UpdateBorder();
}
|
|
To write code in Visual Basic
| Visual Basic |
Copy Code
|
|---|---|
Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click
Me.C1TrueDBGrid1.ScrollTips = Me.CheckBox1.Checked
End Sub
Private Sub CheckBox2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox2.Click
Me.C1TrueDBGrid1.ScrollTrack = Me.CheckBox2.Checked
End Sub
Private Sub C1TrueDBGrid1_FetchScrollTips(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.FetchScrollTipsEventArgs) Handles C1TrueDBGrid1.FetchScrollTips
' Set the ScrollTip depending on which scroll bar was moved.
Select Case e.ScrollBar
Case C1.Win.C1TrueDBGrid.ScrollBarEnum.Horizontal
e.ScrollTip = Me.C1TrueDBGrid1.Columns(e.ColIndex).Caption
Case C1.Win.C1TrueDBGrid.ScrollBarEnum.Vertical
e.ScrollTip = "Record: " & CStr(e.Row + 1) & " of " & CStr(Me.dbTable.Rows.Count) & vbCrLf & "Company: " & Me.dbTable.Rows(e.Row).Item("Company") & vbCrLf & "User code: " & Me.dbTable.Rows(e.Row).Item("UserCode")
End Select
e.TipStyle.ForeColor = Color.Blue
End Sub
|
|
To write code in C#
| C# |
Copy Code
|
|---|---|
private void checkBox1_Click(object sender, System.EventArgs e)
{
this.c1TrueDBGrid1.ScrollTips = this.checkBox1.Checked;
}
private void checkBox2_Click(object sender, System.EventArgs e)
{
this.c1TrueDBGrid1.ScrollTrack = this.checkBox2.Checked;
}
private void c1TrueDBGrid1_FetchScrollTips(System.object sender, C1.Win.C1TrueDBGrid.FetchScrollTipsEventArgs e)
{
// Set the ScrollTip depending on which scroll bar was moved.
switch (e.ScrollBar)
{
case C1.Win.C1TrueDBGrid.ScrollBarEnum.Horizontal:
e.ScrollTip = this.c1TrueDBGrid1.Columns[e.ColIndex].Caption;
break;
case C1.Win.C1TrueDBGrid.ScrollBarEnum.Vertical:
e.ScrollTip = "Record: " + (e.Row + 1).ToString() + " of " + this.dbTable.Rows.Count.ToString() + "\n" + "Company: " + this.dbTable.Rows[e.Row]["Company"].ToString() + "\n" + "User code: " + this.dbTable.Rows[e.Row]["UserCode"].ToString();
break;
}
e.TipStyle.ForeColor = Color.Blue;
}
|
|


You've successfully adjusted borders, added scroll tracking, and added scroll tips to the grid; this concludes the tutorial.