[英]How to get the row index of multiple checked in checkbox column of datagridview C#
[英]Getting Row /multiple Row data in datagridview when checkbox is checked using c#
嗨,我想問一個解決方案,如果可以選中該復選框並將其保存到xml文件,則可以從datagridview獲取整行數據或多行數據
這是我現有的代碼
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = ds.Tables["Tables"];
DataView view = new DataView(dt);
view.RowFilter = "MD_ID = " + MdNum;
//add checkbox to datagrid data
dataGridView2.Columns.Add(chk);
chk.HeaderText = "Select";
//populate datagridview with data
dataGridView2.DataSource = view;
}
private void SaveBtn_Click(object sender, EventArgs e)
{
}
我的表格有4列MD_Num,MD_ID,MD_AGE,MD_DATE。 是否可以選擇一行並將該列的每個值插入一個單獨的文本框,並將其保存為ff格式的XML文件:
<MDS>
<MD>
<Tables>
<MD_Num>VALUE#</MD_Num>
<MD_Num>VALUE#<MD_Num>
<MD_AGE>VALUE#<MD_AGE>
<MD_DATE>VALUE#<MD_DATE>
<Tables>
<MD>
</MDS>
回答第二個問題... dataGridView的單元格單擊事件中
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
txtnum.Text = dataGridView1.SelectedRows[0].Cells["MD_Num"].Value.ToString();
txtid.Text = dataGridView1.SelectedRows[0].Cells["MD_Num"].Value.ToString();
txtage.Text = dataGridView1.SelectedRows[0].Cells["MD_Age"].Value.ToString();
txtdate.Text = dataGridView1.SelectedRows[0].Cells["MD_Date"].Value.ToString();
}
對於保存按鈕,請隨時更改xml文件的路徑
private void btn_Save_Click(object sender, EventArgs e)
{
string num = txtnum.Text;
string id = txtid.Text;
string age = txtage.Text;
string date = txtdate.Text;
XmlTextWriter writer = new XmlTextWriter(@"C:\Users\Public\Desktop\Details.xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.WriteStartElement("MDS");
create_node(num, id, age,date, writer);
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
MessageBox.Show("XML File created ! ");
}
那么您將必須添加的方法將創建節點
private void create_node(string num, string id, string age,string date, XmlTextWriter writer)
{
writer.WriteStartElement("Table");
writer.WriteStartElement("MD_Num");
writer.WriteString(num);
writer.WriteEndElement();
writer.WriteStartElement("MD_ID");
writer.WriteString(id);
writer.WriteEndElement();
writer.WriteStartElement("MD_Age");
writer.WriteString(age);
writer.WriteEndElement();
writer.WriteStartElement("MD_Date");
writer.WriteString(date);
writer.WriteEndElement();
writer.WriteEndElement();
}
哦,在InitializeComponent()
將選擇模式更改為全行選擇
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.