a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

WinForm中DataGridView添加,刪除,修改操作具體方法

2020-01-24 03:06:16
字體:
來源:轉載
供稿:網友

1.添加操作,代碼如下:

復制代碼 代碼如下:

IList<SelfRun> selfRunConfigs = new List<SelfRun>();
private void btnNewConfig_Click(object sender, EventArgs e)
{
try
{
string _lampNo = UpDownSelfLampNo.Value.ToString();
int _ctrlGpNo = Convert.ToInt16(UpDownCtrlGpCnt.Value);
string _opWay = string.Format("{0}", rbConfig.Checked == true ? 1 : 0);
string _opCtuch = GetSelectedCtuCh();
if (CheckNewConfigIsLega(_ctrlGpNo, _opCtuch))
{
string _opType = rbCgOpen.Checked == true ? "01" : rbCgClose.Checked == true ? "00" : "02";
selfRunConfigs.Add(new SelfRun(_opCtuch, _opType, Convert.ToInt32(UpDownTime.Value)));
}
BindGridViewForIList<SelfRun>(gcConfigShow, selfRunConfigs);
}
catch (Exception ex)
{
MessageBox.Show(string.Format("新增配置失敗,原因:{0}", ex.Message.Trim()));
}
}
private void BindGridViewForIList<T>(DataGridView gv, IList<T> datasource)
{
BindingList<T> _bindinglist = new BindingList<T>(datasource);
BindingSource _source = new BindingSource(_bindinglist, null);
gv.DataSource = _source;
}

SelfRun實體類代碼如下:

復制代碼 代碼如下:

    public struct SelfRun
{
public SelfRun(string _opCtuCh, string _opWay, int _opTime)
: this()
{
OpCtuCh = _opCtuCh;
OpWay = _opWay;
OpTime = _opTime;
}
public string OpCtuCh
{
get;
set;
}
public string OpWay { get; set; }
public int OpTime { get; set; }
}

界面綁定,如圖:

效果如圖:

 

2.修改操作,代碼如下:
其實思路很簡單,就是點擊行的時候,獲取行內數據信息,然后填充到控件內,修改后,點擊‘修改配置'后即可保存修改。

所以首先設置點擊控件的時候,是選擇一行,如圖:

 

在CellClick事件中完成,當點擊行的時候,將行數據填充到控件內,代碼如下:

復制代碼 代碼如下:

private void gcConfigShow_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0) return;
DataGridView _dgv = (DataGridView)sender;
string _opWay = _dgv.Rows[e.RowIndex].Cells["OpWay"].Value.ToString();
switch (_opWay)
{
case "00":
ThreadSafeOpRadioButton(rbCgClose, true);
break;
case "01":
ThreadSafeOpRadioButton(rbCgOpen, true);
break;
case "02":
ThreadSafeOpRadioButton(rbSaveOne, true);
break;
}
string _opCtuch = _dgv.Rows[e.RowIndex].Cells["OpCtuCh"].Value.ToString();
for (int i = 0; i < _opCtuch.Length; i++)
{
if (i == 0)
ThreadSafeCheckBox(ckch1, _opCtuch[i].Equals('1'));
if (i == 1)
ThreadSafeCheckBox(ckch2, _opCtuch[i].Equals('1'));
if (i == 2)
ThreadSafeCheckBox(ckch3, _opCtuch[i].Equals('1'));
if (i == 3)
ThreadSafeCheckBox(ckch4, _opCtuch[i].Equals('1'));
if (i == 4)
ThreadSafeCheckBox(ckch5, _opCtuch[i].Equals('1'));
if (i == 5)
ThreadSafeCheckBox(ckch6, _opCtuch[i].Equals('1'));
if (i == 6)
ThreadSafeCheckBox(ckch7, _opCtuch[i].Equals('1'));
if (i == 7)
ThreadSafeCheckBox(ckch8, _opCtuch[i].Equals('1'));
}
string _opTime = _dgv.Rows[e.RowIndex].Cells["OpTime"].Value.ToString();
decimal _time;
if (decimal.TryParse(_opTime, out _time))
ThreadSfeOpUpDown(UpDownTime, _time);
}

點擊修改按鈕內代碼如下:

復制代碼 代碼如下:

private void btnUpdateConfig_Click(object sender, EventArgs e)
{
try
{
if (CheckSelectedRow())
{
int _rowIndex = gcConfigShow.CurrentCell.RowIndex;
int _ctrlGpNo = Convert.ToInt16(UpDownCtrlGpCnt.Value);
string _opWay = string.Format("{0}", rbConfig.Checked == true ? 1 : 0);
string _opCtuch = GetSelectedCtuCh();
string _opType = rbCgOpen.Checked == true ? "01" : rbCgClose.Checked == true ? "00" : "02";
SelfRun _selfRunByRowIndex = selfRunConfigs[_rowIndex];
_selfRunByRowIndex.OpCtuCh = GetSelectedCtuCh();
_selfRunByRowIndex.OpTime = Convert.ToInt32(UpDownTime.Value);
_selfRunByRowIndex.OpWay = _opType;
selfRunConfigs.RemoveAt(_rowIndex);
selfRunConfigs.Add(_selfRunByRowIndex);
BindGridViewForIList<SelfRun>(gcConfigShow, selfRunConfigs);
}
}
catch (Exception ex)
{
MessageBox.Show(string.Format("修改配置失敗,原因:{0}", ex.Message.Trim()));
}
}

3.刪除操作,代碼如下:

復制代碼 代碼如下:

private void btnDeleteConfig_Click(object sender, EventArgs e)
{
if (CheckSelectedRow())
{
if (MessageBox.Show("是否刪除該行數據?", "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
selfRunConfigs.RemoveAt(gcConfigShow.CurrentCell.RowIndex);
BindGridViewForIList<SelfRun>(gcConfigShow, selfRunConfigs);
}
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久影院色老大 | 国产午夜精品久久久久久久 | 韩日欧美 | 色天堂影院 | 日韩在线电影 | 日韩毛片在线观看 | 一本一道久久a久久精品综合蜜臀 | 精品99久久久久久 | 久久伊人操 | 男女午夜网站 | 99re6在线视频精品免费 | 久草色视频在线观看 | 午夜影院免费观看视频 | 91中文字幕在线 | 男人的天堂视频网站 | 久久99国产精一区二区三区 | 久久精品99国产精品亚洲最刺激 | 国产99久久久国产精品 | 亚洲精品三级 | 成人在线视频一区二区 | 成人av影片在线观看 | 欧美精品久久一区 | 人人草人人看 | 午夜视频你懂得 | 精品国产乱码久久久久久影片 | 国产成人午夜视频 | 久久伊人成人 | 亚洲涩涩爱 | 久久精品小视频 | 成人综合在线观看 | 99久久99久久精品 | 国精品产品区三区 | 日韩欧美国产网站 | 日韩精品免费 | 狠狠久久综合 | 成人av网址在线观看 | 中文字幕亚洲一区二区三区 | 天天干天天插 | 久久福利| 污网站在线观看免费 | 国产精品一区二区福利视频 |