Click here to Skip to main content
15,892,746 members
Home / Discussions / C#
   

C#

 
GeneralRe: Multiple forms and datagridviews Pin
bwood202021-May-09 8:48
bwood202021-May-09 8:48 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute21-May-09 9:08
Henry Minute21-May-09 9:08 
GeneralRe: Multiple forms and datagridviews Pin
bwood202021-May-09 9:54
bwood202021-May-09 9:54 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute21-May-09 10:42
Henry Minute21-May-09 10:42 
GeneralRe: Multiple forms and datagridviews Pin
bwood202021-May-09 13:01
bwood202021-May-09 13:01 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute22-May-09 9:59
Henry Minute22-May-09 9:59 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute22-May-09 10:05
Henry Minute22-May-09 10:05 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute22-May-09 10:08
Henry Minute22-May-09 10:08 
Code for second form.

public partial class MappingForm : Form
{
    List<string> standardDocumentList = new List<string>();
    FieldMappingDictionary documentsDictionary = new FieldMappingDictionary();

    private Dictionary<string, string> headerDictionary = null;
    private string dataFile;

    public MappingForm()
    {
        InitializeComponent();

        InitLookupLists();
    }

    private void InitLookupLists()
    {
        this.standardDocumentList.AddRange(new string[] { "Full", "Partial", "None" });
    }

    private void MappingForm_Load(object sender, EventArgs e)
    {
        DataGridView dgv = null;
        string headerString = null;

        foreach (string key in this.headerDictionary.Keys)
        {
            headerString = this.headerDictionary[key];
            switch (key)
            {
                case "Documentation":
                    dgv = this.dgvDocumentation;
                    break;
                case "Property":
                    dgv = null;
                    break;
                case "Offer":
                    dgv = null;
                    break;
                case "Figures":
                    dgv = null;
                    break;
                case "Guarantee":
                    dgv = null;
                    break;
            }

            if (dgv != null)
            {
                this.FillDatagrid(headerString, dgv);
            }
        }
    }

    DataTable dFill = null;
    private void FillDatagrid(string headerString, DataGridView dgv)
    {
        //Connect to csv file
        String comString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
            Path.GetDirectoryName(Path.GetFullPath(this.dataFile)) + @";Extended Properties=""Text;HDR=YES;FMT=Delimited;IMEX=1\""";

        String strSql = "SELECT DISTINCT " + headerString + " FROM [" + Path.GetFileName(this.dataFile) + "]";
        using (OleDbConnection conCSV = new OleDbConnection(comString))
        {
            conCSV.Open();
            OleDbCommand dbCommand = new OleDbCommand(strSql, conCSV);
            OleDbDataAdapter dAdapter = new OleDbDataAdapter(dbCommand);
            dFill = new DataTable();
            dAdapter.Fill(dFill);
        }

        bindingSource1.DataSource = dFill;
        dgv.DataSource = bindingSource1;

        // Set up lookup for dgvDocumentation
        // only temporarilly here for demo
        DataGridViewComboBoxColumn lookupColumn = new DataGridViewComboBoxColumn();
        this.dgvDocumentation.Columns.Add(lookupColumn);
        lookupColumn.ValueType = typeof(string);
        lookupColumn.HeaderText = "Standard";
        lookupColumn.DataSource = this.standardDocumentList;

        for (int i = 0; i < dgv.Columns.Count; i++)
        {
            dgv.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            dgv.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        }
    }

    private void CreateDocsDictionary()
    {
        foreach (DataGridViewRow row in this.dgvDocumentation.Rows)
        {
            //DataGridViewComboBoxCell lookupCell = row.Cells[1] as DataGridViewComboBoxCell;
            if (row.Cells[0].Value != null)
            {
                this.documentsDictionary.Add(row.Cells[1].Value.ToString(), row.Cells[0].Value.ToString());
            }
        }
    }

    #region MappingForm PROPERTIES ...............................
    public Dictionary<string, string> HeaderDictionary
    {
        get
        {
            return this.headerDictionary;
        }

        set
        {
            this.headerDictionary = value;
        }
    }

    public string DataFile
    {
        get
        {
            return this.dataFile;
        }

        set
        {
            this.dataFile = value;
        }
    }

    public FieldMappingDictionary DocumentsDictionary
    {
        get
        {
            return this.documentsDictionary;
        }
    }
    #endregion MappingForm PROPERTIES

    private void btnOK_Click(object sender, EventArgs e)
    {
        this.CreateDocsDictionary();
        // then the others

        //when done close
        this.Close();
    }
}


One more to come

Henry Minute

Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”

GeneralRe: Multiple forms and datagridviews Pin
Henry Minute22-May-09 10:12
Henry Minute22-May-09 10:12 
GeneralRe: Multiple forms and datagridviews Pin
bwood202022-May-09 10:19
bwood202022-May-09 10:19 
GeneralRe: Multiple forms and datagridviews Pin
bwood202026-May-09 4:08
bwood202026-May-09 4:08 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute26-May-09 4:15
Henry Minute26-May-09 4:15 
GeneralRe: Multiple forms and datagridviews Pin
bwood202026-May-09 6:13
bwood202026-May-09 6:13 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute26-May-09 6:20
Henry Minute26-May-09 6:20 
GeneralRe: Multiple forms and datagridviews Pin
bwood202026-May-09 12:47
bwood202026-May-09 12:47 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute26-May-09 13:11
Henry Minute26-May-09 13:11 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute26-May-09 13:18
Henry Minute26-May-09 13:18 
GeneralRe: Multiple forms and datagridviews [modified] Pin
bwood202027-May-09 5:44
bwood202027-May-09 5:44 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute27-May-09 7:20
Henry Minute27-May-09 7:20 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute27-May-09 10:41
Henry Minute27-May-09 10:41 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute27-May-09 11:39
Henry Minute27-May-09 11:39 
GeneralRe: Multiple forms and datagridviews Pin
bwood202027-May-09 12:18
bwood202027-May-09 12:18 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute27-May-09 12:29
Henry Minute27-May-09 12:29 
GeneralRe: Multiple forms and datagridviews Pin
Henry Minute27-May-09 12:35
Henry Minute27-May-09 12:35 
GeneralRe: Multiple forms and datagridviews Pin
bwood202027-May-09 13:02
bwood202027-May-09 13:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.