1.複習

如何在gridview中顯示排序

        private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            DataView dv = new DataView(ds.Tables["Products"]);
            dv.Sort = "UnitPrice";

            dataGridView2.DataSource = dv;
        }

DataSet其實可以放超過一個TABLE,也可以放超過一個的DA

image.png

image.png

寫CODE的方法,找出目標,找出欄位,填入資訊。測試功能,新增與排錯。

資料集中新增table橫片的方法

    private void button2_Click(object sender, EventArgs e)
    {
        var drNew = ds.Customers.NewCustomersRow();

        drNew.CustomerID = "0001";
        drNew.CompanyName = "0001_Name";

        ds.Customers.AddCustomersRow(drNew);
        //ds.Customers.Rows.Add(drNew);
    }

FindBy

要找東西有三種方法,

  1. 直接輸入橫列編號
  2. 透過主索引建(PK)
  3. 利用迴圈搜尋目標
  4. 使用FindBy
private void button3_Click(object sender, EventArgs e)
{
    //NorthwindDataSet.CustomersRow dr = ds.Customers[0];
 
    //NorthwindDataSet.CustomersRow dr =
    //    ds.Customers.FindByCustomerID("00001");
 
    //NorthwindDataSet.CustomersRow dr = null;
    //foreach (DataRow drTest in ds.Customers.Rows)
    //{
    //    if (drTest["CompanyName"].ToString() == "00001 Name")
    //    {
    //        dr = drTest as NorthwindDataSet.CustomersRow;
    //        break;
    //    }
    //}
 
    NorthwindDataSet.CustomersRow dr = null;
    foreach (NorthwindDataSet.CustomersRow drTest in ds.Customers.Rows)
    {
        if (drTest.CompanyName == "00001 Name")
        {
            dr = drTest;
            break;
        }
    }
    if (dr == null)
    {
        MessageBox.Show("Not found");
        return;
    }
 
    dr.CompanyName = "0001 Lab 4";
    MessageBox.Show(dr.RowState.ToString());
}