Передача данных из datagridview в форму C # - PullRequest
1 голос
/ 08 марта 2011

Надеясь, что кто-то может пролить свет на мою проблему.Я следовал учебнику, найденному здесь http://msdn.microsoft.com/en-us/library/ms171925(v=VS.100).aspx#Y3500, и не могу заставить его работать.

Мой код выглядит следующим образом:

   namespace CityCollectionCSharp
{
    public partial class frmSwitch : Form
    {
        public frmSwitch()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'newCityCollectionDataSet.ClientTable' table. You can move, or remove it, as needed.
            this.clientTableTableAdapter.Fill(this.newCityCollectionDataSet.ClientTable);
            // TODO: This line of code loads data into the 'newCityCollectionDataSet.PropertyInformation' table. You can move, or remove it, as needed.
            this.propertyInformationTableAdapter.Fill(this.newCityCollectionDataSet.PropertyInformation);

        }

        private void propertyInformationDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            System.Data.DataRowView SelectedRowView;
            newCityCollectionDataSet.PropertyInformationRow SelectedRow;

            SelectedRowView = (System.Data.DataRowView)propertyInformationBindingSource.Current;
            SelectedRow = (newCityCollectionDataSet.PropertyInformationRow)SelectedRowView.Row;

            frmSummary SummaryForm = new frmSummary();
            SummaryForm.LoadCaseNumberKey(SelectedRow.CaseNumberKey);
            SummaryForm.Show();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            propertyInformationBindingSource.Filter = "ClientKey ='" + comboBox1.SelectedValue + "'";
        }




    }
}

Это для первой формы, а теперь и для второй формы:

    namespace CityCollectionCSharp
{
    public partial class frmSummary : Form
    {
        public frmSummary()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'newCityCollectionDataSet.PropertyInformation' table. You can move, or remove it, as needed.
            this.propertyInformationTableAdapter.Fill(this.newCityCollectionDataSet.PropertyInformation);

        }
        internal void LoadCaseNumberKey(String CaseNumber)
        {
            propertyInformationTableAdapter.FillByCaseNumberKey(newCityCollectionDataSet.PropertyInformation, CaseNumber);

        }
    }
}

У меня есть запрос, настроенный следующим образомв propertyInfromationTableAdapter:

SELECT        CaseNumberKey, BRTNumber, ParcelNumber, Premises, ClientKey, ParcelNum, Registry, TaxAcctName, StreetCode, CoverDate, OrderDate, Assessment, TaxFrom, TaxTo, TaxOpen, WaterOpen, WaterAcct, WaterTo, WaterFrom, AssessedBeg, AssessedDim, SumNotes, Legal, TotalWater, TotalTax, Type, OPARec, OPADoc, OPADocNum, Recital, Num, Name, Direction, Unit, ProductKey, DateFinished, Finished, Paid, BD, BDPaid, Search, Exam
FROM            PropertyInformation
WHERE        (CaseNumberKey = @CaseNumberKey)

Я не могу понять на всю жизнь, почему это не работает, как предписано.Когда я нажимаю на запись, она пропускает обе записи в таблице и всегда имеет первую в полях, которые у меня есть.Я знаю это только когда покинул связыватель.Любая помощь будет высоко ценится.

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Попробуйте это,

Загрузка в Datagridview с использованием sqldatareader

Связывание данных между DataSet и DataGridView в C #

Как: привязать данные к элементу управления Windows Forms DataGridView

Вы также можете использовать sqlDatareader, sqlDataAdapter для программной загрузки в Datagridview.

Привет

1 голос
/ 09 марта 2011

Всякий раз, когда у меня возникает проблема, связанная с работой в сети, это сводится к тому, что я делаю это / неправильно реализую это, неправильно понимаю, как что-то работает, и, следовательно, оно все равно сломается, или если код от сторонней организации, тоэто может не сработать, чтобы начать, или вы обнаружите ошибку.

Маловероятно, что код MSDN является неправильным (но не невозможным), поэтому я хотел бы предложить множество точек останова в коде, который вы произвели, и если это не поможеттогда я бы создал новый проект, копирующий кодовое слово в слово, может означать, что вы видите, где вы ошиблись, или, если у вас это получается, медленно копируйте то, что вы должны увидеть, когда оно сломается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...