C\#DataGridView 에서 선택 한 저장 데이터 와 오른쪽 단 추 를 눌 러 데 이 터 를 삭제 합 니 다(예시 코드)
11317 단어 C#DataGridView데이터
dataGridView 의 CellContentClick 이 벤트 를 촉발 하고 이벤트 에서 Edit 방법 을 호출 합 니 다.
DataGridView 에 CheckBox 를 추가 한 후 조건 이 충족 되 지 않 으 면 체크 를 해제 합 니 다.
또한 체크 후 바 인 딩 된 데 이 터 를 표 에 저장 하 는 동작 을 수행 합 니 다.
클릭 하여 확정 후 체크 해제
Main.cs
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (this.tabControl1.SelectedIndex)
{
//case 0:
// //
// ShowVlues();
// break;
case 1:
TableDefine.Initial_TableE();
for (int i = 0; i <= TableDefine.tGridField.Length - 1; i++)
{
cboSearch.Items.Add(TableDefine.tGridField[i].sCaption);
cboSearchList.Items.Add(TableDefine.tGridField[i].sFieldName);
}
if (cboSearch.Items.Count > 0)
{
cboSearch.SelectedIndex = 0;
}
//
DataTable ModelDT = fslConn.GetAllModel();
if (ModelDT.Rows.Count > 0)
{
foreach (DataRow item in ModelDT.Rows)
{
cboModel.Items.Add(item[0]);
}
}
//
DataTable RouteDT = fslConn.GetAllRoute();
if (RouteDT.Rows.Count > 0)
{
foreach (DataRow item in RouteDT.Rows)
{
cboRoute.Items.Add(item[0]);
}
}
//
ShowEVlues();
break;
}
}
//
void ShowEVlues()
{
string sFieldName = string.Empty;
string sFieldText = string.Empty;
if (cboSearch.SelectedIndex > -1 && txtSearch.Text.Trim() != "")
{
sFieldName = cboSearchList.Items[cboSearch.SelectedIndex].ToString();
sFieldText = txtSearch.Text.Trim();
}
if (string.IsNullOrWhiteSpace(sFieldText))
gvDataE.DataSource = fslConn.GetAllFslEName();
else
gvDataE.DataSource = fslConn.GetAllFslEName(sFieldName, sFieldText);
// title
for (int i = 0; i <= gvDataE.Columns.Count - 1; i++)
{
gvDataE.Columns[i].Visible = false;
}
for (int i = 0; i < TableDefine.tGridField.Length; i++)
{
string sGridField = TableDefine.tGridField[i].sFieldName;
if (gvDataE.Columns.Contains(sGridField))
{
gvDataE.Columns[sGridField].HeaderText = TableDefine.tGridField[i].sCaption;
gvDataE.Columns[sGridField].DisplayIndex = i; //
gvDataE.Columns[sGridField].Visible = true;
}
}
gvDataE.Focus();
// dgv
DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn();
//
checkbox.HeaderText = " ";
checkbox.Name = "IsChecked";
checkbox.TrueValue = true;
checkbox.FalseValue = false;
checkbox.DataPropertyName = "IsChecked";
//
checkbox.Width = 50;
//
checkbox.Resizable = DataGridViewTriState.False;
// checkbox dgv
this.gvDataE.Columns.Insert(0, checkbox);
}
//
private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != (char)Keys.Return)
return;
ShowEVlues();
editFilter.Focus();
}
//
private void cboRoute_SelectedIndexChanged(object sender, EventArgs e)
{
if (cboRoute.Text != "")
{
//
DataTable StationTypeDT = fslConn.GetAllStationType(cboRoute.Text);
if (StationTypeDT.Rows.Count > 0)
{
for (int i = 0; i < StationTypeDT.Rows.Count; i++)
{
//cboStationType.Items.Add(item[0]);
cboStationType.Items.Add(new Metadata(StationTypeDT.Rows[i][2].ToString(), StationTypeDT.Rows[i][0].ToString(), StationTypeDT.Rows[i][1].ToString()));
}
}
}
}
//
private void gvDataE_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string Model = cboModel.Text;
string Route = cboRoute.Text;
if (Model == "" || Route == ""|| cboStationType.Text == "")
{
MessageBox.Show(" 、 、 , !");
//DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)this.gvDataE.Rows[e.RowIndex].Cells["IsChecked"];
// this.gvDataE.Rows[e.RowIndex].Cells["IsChecked"].Value = false;
//
this.gvDataE.RefreshEdit();
return;
}
//
string StationType = ((Metadata)cboStationType.SelectedItem).ID;
//
string StationTypeDesc = ((Metadata)cboStationType.SelectedItem).NAMEDESC;
if (e.ColumnIndex == 0 && e.RowIndex != -1)
{
//
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)this.gvDataE.Rows[e.RowIndex].Cells["IsChecked"];
Boolean flag = Convert.ToBoolean(checkCell.Value);
//KP
string gvFunName = gvDataE.Rows[e.RowIndex].Cells["MAT_TYPE_CODE"].Value.ToString();
//KP
string gvFunNameDesc = gvDataE.Rows[e.RowIndex].Cells["MAT_TYPE_DESC"].Value.ToString();
if (flag == false)
{
checkCell.Value = true;
//
fslConn.SaveFslPower(gvFunName, gvFunNameDesc, Model,StationType, StationTypeDesc);
}
}
}
ComboBox 수치 추출
main.cs
//
DataTable ModelDT = fslConn.GetAllModel();
if (ModelDT.Rows.Count > 0)
{
foreach (DataRow item in ModelDT.Rows)
{
cboModel.Items.Add(item[0]);
}
}
fslConn.cs
//
public DataTable GetAllModel()
{
return fslDAL.GetAllModel();
}
fslDAL.cs
//
public DataTable GetAllModel()
{
string sql = "SELECT MODEL FROM IMES.M_MODEL";
return utility.Query(sql);
}
데 이 터 를 저장 하 다.
fslConn.cs
public long SaveFslPower(string gvFunName, string gvFunNameDesc, string Model, string StationType, string StationTypeDesc )
{
return fslDAL.SaveFslPower(gvFunName, gvFunNameDesc, Model, StationType, StationTypeDesc);
}
fslDAL.cs
//
public long SaveFslPower(string gvFunName, string gvFunNameDesc, string Model, string StationType, string StationTypeDesc)
{
string id = GetMaxId();
string sql = @"INSERT INTO IMES.M_STATIONTYPE_PARTSPEC (ID,MODEL,STATION_TYPE,STATION_DESC,KP_SPEC,KP_SPEC_DESC,QTY,ENABLED,CREATE_EMPNO,CREATE_TIME,UPDATE_EMPNO)
VALUES(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11)";
object[] para = new object[] { id, Model, StationType , StationTypeDesc,gvFunName, gvFunNameDesc, "1", "Y", utility.GlobalUserNo,DateTime.Now, utility.GlobalUserNo };
return utility.ExecuteSql(sql, para);
}
오른쪽 단추 로 데이터 삭제실현 효과
Main.cs
// DataGridView
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (gvData.Rows.Count == 0 || gvData.CurrentRow == null)
{
return;
}
string ID = gvData.CurrentRow.Cells["ID"].Value.ToString();
if (MessageBox.Show("ID:" + ID + " ?", " ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//M_STATIONTYPE_PARTSPEC_HT
fslConn.SaveFslHistoryData(ID);
fslConn.DeleteFslByIDAndFunc(ID);
//
ShowVlues();
}
}
fslConn.cs
//
public long DeleteFslByIDAndFunc(string id)
{
return fslDAL.DeleteFslByIDAndFunc( id);
}
fslDAL.cs
//
public long DeleteFslByIDAndFunc(string id)
{
string sql = @"Delete from IMES.M_STATIONTYPE_PARTSPEC WHERE ID =:1";
object[] para = new object[] { id };
return utility.ExecuteSql(sql, para);
}
C\#DataGridView 에서 저 장 된 데 이 터 를 선택 하고 오른쪽 단 추 를 눌 러 데 이 터 를 삭제 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#DataGridView 오른쪽 단 추 를 눌 러 데 이 터 를 삭제 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.