Dr. A
More info about Dr. "A" and his Wife Dr. Anderson can be found at http://www.scotnpatti.com.
Current Projects
Bible Beliefs Database Project
- Add the connection to the Data Connections in Server Explorer
- Add a data set item to the project. This is a nice gui place to create the data set. Drag and drop the tables on the page and you will build yourself a nice database diagram similar to what you would do in Visio.
Next I added a DataGridView Object, bound it to the TopicTextViewOrdered and changed the column type to DataGridViewLinkColumn.
- Note the contextMenuStrip should be where we click to add a new belief possibly
Turned TrackVisitedState to false.
A BindingSource component is added at the bottom. Change the Sort Property to: TopicText ASC
Double Clicked on DGV object to create a CellContentClick event handler. To start with I'll just do a MessageBox as shown in Section 1 of the code below
Added another TableAdaptor for beliefs, as well as a BindingSource and BindingNavigator
Have the TableAdaptor Fill the bibleDB DataSet in on form load.
- Section 1 shows that we also will filter this binding source with the topic key.
- We then added a web browser control and a button to retrieve a verse from biblegateway.com
- NEXT: Make sure that data is persisted in the database.
//Section 1: Accessing the selected value
if (Utilities.IsANonHeaderLinkCell(()sender, e))
{
int topicKey = (int)dgvTopics.Rows[e.RowIndex].Cells[0].Value;
this.beliefsBindingSource.Filter = "TopicKey = " + topicKey;
}
//Section 2: Utility Function used in Section 1
public static bool IsANonHeaderLinkCell(DataGridView dgv, DataGridViewCellEventArgs cellEvent)
{
if (dgv.Columns[cellEvent.ColumnIndex] is DataGridViewLinkColumn && cellEvent.RowIndex != -1)
{ return true; }
else { return false; }
}
//Section 3: Added to MainForm_Load to sort grid
this.dgvTopics.Sort(dgvTopics.Columns[1], ListSortDirection.Ascending);
//Section 4: filter verses based on belief row that is currently displayed - not easy to find!
private void txtBeliefsText_TextChanged(object sender, EventArgs e)
{
//How to get other fields in the row currently displaying a field in a bound TextBox
int newBeliefKey = (int)((DataRowView)beliefsBindingSource.Current).Row["BeliefKey"];
this.versesBindingSource.Filter = "BeliefKey = " + newBeliefKey;
}
