데이터 테이블에서 DataGridview를 채 웁니다. 응용 프로그램이 실행 중일 때 DataGridview에서 어떻게 읽습니까?Dataagridview 읽기
0
A
답변
2
어떻게 채웠습니까? DataSource 뭔가 BindlingList 같은 유용한 무엇입니까? 뭔가 같이 다음의 경우 :
BindingSource bindingSource = this.dataGridView1.DataSource as BindingSource;
//substitute your business object type for T
T entity = bindingSource.Current as T;
당신에게 행에 바인딩 된 개체를 얻을 것입니다.
그렇지 않으면 항상 datagridview.Columns [N] .Cells [N] .Value가 있지만, 정말이 데이터 소스
편집의 개체를 사용하여보고 싶은데 : 아 ... 데이터 테이블을 ... righto :
var table = dataGridView1.DataSource as DataTable;
foreach(DataRow row in table.Rows)
{
foreach(DataColumn column in table.Columns)
{
Console.WriteLine(row[column]);
}
}
1
DataGridview를 반복하고 각 셀을 검색 할 수 있습니다. 예 : here
0
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public static DataTable objDataTable = new DataTable("UpdateAddress");
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "csv files (*.csv)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
string fileName = openFileDialog1.FileName;
List<string> dataFile = new List<string>();
dataFile = ReadList(fileName);
foreach (string item in dataFile)
{
string[] temp = item.Split(',');
DataRow objDR = objDataTable.NewRow();
objDR["EmployeeID"] = temp[0].ToString();
objDR["Street"] = temp[1].ToString();
objDR["POBox"] = temp[2].ToString();
objDR["City"] = temp[3].ToString();
objDR["State"] = temp[4].ToString();
objDR["Zip"] = temp[5].ToString();
objDR["Country"] = temp[6].ToString();
objDataTable.Rows.Add(objDR);
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
}
public static List<string> ReadList(string filename)
{
List<string> fileData = new List<string>();
StreamReader sr = new StreamReader(filename);
while (!sr.EndOfStream)
fileData.Add(sr.ReadLine());
return fileData;
}
private void Form1_Load(object sender, EventArgs e)
{
objDataTable.Columns.Add("EmployeeID", typeof(int));
objDataTable.Columns.Add("Street", typeof(string));
objDataTable.Columns.Add("POBox", typeof(string));
objDataTable.Columns.Add("City", typeof(string));
objDataTable.Columns.Add("State", typeof(string));
objDataTable.Columns.Add("Zip", typeof(string));
objDataTable.Columns.Add("Country", typeof(string));
objDataTable.Columns.Add("Status", typeof(string));
dataGridView1.DataSource = objDataTable;
dataGridView1.Refresh();
}
private void button2_Click(object sender, EventArgs e)
{
// Displays a SaveFileDialog so the user can save the backup of AD address before the update
// assigned to Button2.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "BAK Files|*.BAK";
saveFileDialog1.Title = "Save AD Backup";
saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
TextWriter fileOut = new StreamWriter(saveFileDialog1.FileName);
//This is where I want read from the datagridview the EmployeeID column and use it in my BackupAddress method.
}
}
+1
대답으로 게시하는 대신 질문을 편집하는 것이 더 좋았을 것입니다. –
0
당신은 DataTable.WriteXml에서 살펴 봐야 할 수 있습니다, 그리고 형제 DataTable.ReadXml입니다. DataTable을 저장하지 않아도됩니다.
달성하려는 목표에 대해 자세히 설명해 주실 수 있습니까? – Chris
데이터 테이블에서 datagridview를 채 웠습니다. 응용 프로그램이 실행 중일 때 셀을 변경하면 변경된 DataGridview 전체를 읽고 파일에 쓰고 싶습니다. 나는 정보에 접근하는 적절한 방법에 붙어있다. –
태그를 다시 지정하십시오. 이것은 C# 관련 질문이 아닙니다. 대신 ".net"태그. –