Wednesday, February 25, 2009

DataTable and DataColumn - CheckBoxes

เพิ่ม checkbox ลงใน dataTable ผ่าน dataColumn

# อันนี้เป็นกรณีใช้ datatable ผูกกับ datagridview

# เมื่อเราต้องการเพิ่ม column ต่อจาก column ที่เราได้ query จากฐานข้อมูล


// สร้าง method ให้ง่ายสำหรับการใช้งาน
private void fillData(string sqlSelectCommand, DataGridView dg)
{

// เปิด connection
if (this.conn.State != ConnectionState.Open)
{
this.conn.Open();
}

// สร้าง sqlcommand สำหรับผูกกับ adapter
cmd = new SqlCommand(sqlSelectCommand, this.conn);

// ผูก sqlcommand กับ adapter
adp = new SqlDataAdapter(cmd);

// ใช้ dataset แทน datatable ได้เหมือนกัน แต่เราจะไม่สามารถเพิ่ม column ผ่าน dataset ได้
tb = new DataTable();

// เพิ่ม column ก่อน เติม ข้อมูลลง datatable
tb.Columns.Add("Checkbox", typeof(bool));

adp.Fill(tb);


//DataColumn dcCheckbox = new DataColumn("Checkbox", typeof(bool));
//tb.Columns.Add(dcCheckbox);

// ตั้งให้ datagridview ให้แสดงข้อมูลจาก datatable
dg.DataSource = tb;
}

// การตรวจสอบค่าของ checkbox ใน datagridview

int check = 0;
DataRow row = tb.Rows[0];
try
{
// ถ้า checked จะได้ true แต่ถ้าไม่เลือกจะไม่ได้ false หว่าเป็นเพราะอาไรไม่ทราบ
check = Boolean.Parse(row["Checkbox"].ToString()) ? 1 : 0;
}
catch (Exception)
{
check = 0;
//throw;
}

References:

No comments:

Post a Comment